Современные компании всё чаще используют облачные сервисы Microsoft — платформу Azure и экосистему Microsoft 365. Эти решения позволяют строить инфраструктуру, управлять пользователями и обеспечивать безопасность данных. Но при большом количестве ресурсов ручное администрирование через графические порталы становится неэффективным. В таких случаях на помощь приходит PowerShell — мощный инструмент автоматизации, который позволяет выполнять рутинные задачи быстрее и надёжнее.
В этой статье разберём, как начать работу с PowerShell для управления Azure и Microsoft 365, какие модули нужно установить и какие базовые команды использовать.
Почему PowerShell для Azure и Microsoft 365
Использование PowerShell даёт ряд преимуществ:
– Автоматизация рутинных задач (создание пользователей, настройка лицензий, управление группами).
– Массовые операции (например, обновление параметров сотен учетных записей сразу).
– Интеграция с системами DevOps и CI/CD.
– Гибкость: скрипты можно запускать по расписанию или связывать с другими сценариями.
Подготовка окружения
Для работы потребуется PowerShell 7 или более поздняя версия. Проверить текущую версию можно командой:
$PSVersionTable.PSVersion
Если версия устарела, скачайте PowerShell с официального сайта Microsoft.
Модули для работы с Azure и Microsoft 365
Для подключения к облачным сервисам необходимо установить модули:
– Az — модуль для управления Azure.
– Microsoft.Graph — модуль для работы с Microsoft 365 и Graph API.
Установка модулей выполняется так:
Install-Module -Name Az -Repository PSGallery -Force
Install-Module -Name Microsoft.Graph -Repository PSGallery -Force
Подключение к Azure
Чтобы войти в Azure через PowerShell, используйте команду:
Connect-AzAccount
После этого откроется окно авторизации, где нужно ввести логин и пароль учетной записи с доступом к подписке Azure.
Пример получения списка ресурсов:
Get-AzResource
А для просмотра виртуальных машин:
Get-AzVM
Подключение к Microsoft 365
Для управления пользователями и лицензиями Microsoft 365 используется модуль Microsoft.Graph. Подключение выполняется так:
Connect-MgGraph -Scopes "User.Read.All", "Group.ReadWrite.All"
Пример получения списка пользователей:
Get-MgUser | Select-Object DisplayName, UserPrincipalName
Создание нового пользователя в Microsoft 365:
New-MgUser -DisplayName "Иван Иванов" -UserPrincipalName ivan.ivanov@contoso.com -AccountEnabled $true -PasswordProfile @{Password="P@ssw0rd123"; ForceChangePasswordNextSignIn=$true}
Автоматизация задач
Используя PowerShell, можно автоматизировать десятки сценариев, например:
– Массовое добавление пользователей и назначение им лицензий.
– Экспорт отчётов о группах, устройствах и политиках безопасности.
– Управление ресурсами Azure (виртуальные машины, базы данных, сети).
– Настройка политик MFA и безопасности в Microsoft 365.
Пример массового назначения лицензий пользователям:
$users = Get-MgUser -Filter "accountEnabled eq true"
foreach ($user in $users) {
Set-MgUserLicense -UserId $user.Id -AddLicenses @{SkuId="ENTERPRISEPACK"} -RemoveLicenses @()
}
Лучшие практики
– Используйте сервисные аккаунты с ограниченными правами для автоматизации.
– Храните скрипты в GitHub или Azure DevOps для командной работы.
– Настраивайте Scheduled Tasks или Azure Automation для регулярного запуска скриптов.
– Добавляйте логирование выполнения, чтобы отслеживать результаты.
PowerShell открывает широкие возможности для управления Azure и Microsoft 365. С его помощью администраторы могут автоматизировать задачи, ускорить развертывание ресурсов и снизить вероятность ошибок. Освоив базовые команды и установив нужные модули, вы сможете сделать первые шаги в сторону полноценной автоматизации и построения гибкой инфраструктуры.