В платформе Office 365 предусмотрен отдельный модуль PowerShell, который позволяет управлять настройками организации Office 365, настраивать пользователей и лицензии и выполнять множество других операций из командой строки. Как и в случае с Microsoft Exchange, есть несколько вещей, которые просто невозможно сделать из веб интерфейса Office 365.
Для подключения к Office 365 необходимо установить дополнительное расширение и модуль PowerShell. В качестве рабочей станции может быть использованы только 64-х битная версия Windows 10, 8.1, Windows 7 SP1 или Windows Server 2016/2012 R2/2012/2008R2 с установленным .NET Framework не ниже версии 3.5.1. Для управления тенантом ваша учетная запись должна входить быть членом роли администратора Office 365.
- Скачайте и установите Microsoft Online Services Sign-In Assistant (https://www.microsoft.com/en-us/download/details.aspx?id=41950).
- Установите модуль Microsoft Azure Active Directory для Windows PowerShell из репозитория NuGet или PowerShellGallery командой:
Find-Module -Name MSOnline | Install-Module -Force
После установки данных модулей вы можете подключится к своей подписке Office 365 в Azure AD. Сначала нужно импортировать PoSh модуль:
Import-Module MSOnline
При использовании многофакторной проверки подлинности (MFA), выполните команду:
Connect-MsolService
В появившемся окне Azure Active Directory PowerShell укажите имя администратора Office 365 (в формате UPN — User principal name) и пароль, затем введите код подтверждения со своего мобильного телефона.
При использовании обычной аутентификации (по имени и паролю пользователя), сначала можно сохранить учтённые данные администратора Office 365 в переменную:
$cred365 = Get-Credential
А затем подключитесь к своей подписке командой:
Connect-MsolService -Credential $cred365
После завершения команды будет установлено соединение с тенантом Office 365.
Список привязанных доменов в вашей организации можно вывести командой:
Get-AcceptedDomain
Выведите список доступных лицензий в вашем аккаунте.
Get-MsolAccountSku
Комадлет возвращает все SKU принадлежащие организации. Вы получите детальную информацию по лицензированию, узнаете сколько лицензий используется, сколько доступно всего.
Выведем список пользователей в вашем тенанте Office 365:
Get-MsolUser
Как вы видите, в списке указано, назначен ли лицензия пользователю или нет.
Создать нового пользователя можно с помощью командлета New-MsolUser.
New-MsolUser -UserPrincipalName aaandreev@vmblog.onmicrosoft.com -DisplayName 'Andret Ivanov' -FirstName Andrey -LastName Ivanov -LicenseAssignment vmblog:ENTERPRISEPACK -UsageLocation GB
Если при создании пользователя не указывать аргумент –Password, пользователю будет сгенерирован и присвоен случайный пароль. Если нужно, чтобы пароль пользователя Office 365 никогда не истекает (это не рекомендуется), выполните следующую команду:
Get-MSOLUser –UserPrincipalName aaandreev@vmblog.onmicrosoft.com| Set-MsolUser -PasswordNeverExpires $true
Как правило администратору Office 365 приходится много времени уделять лицензированию. Для удобства выбора всех лицензии определенного удобно пользоваться такой конструкцией:
$oLicSKUid = Get-MsolAccountSku | Out-GridView -Title 'Выберите тип лицензии’-OutputMode Single | Select-Object -ExpandProperty AccountSkuId
Выведем список пользователей без лицензии:
$Users = Get-MsolUser -All -UnlicensedUsersOnly
Назначьте найденным пользователям местоположение:
$Users | Set-MsolUser -UsageLocation GB
Теперь можно назначить всем выбранным пользователям лицензии:
$Users | Set-MsolUserLicense -AddLicenses $oLicSKUid
Проверить тип лицензии конкретного пользователя можно так:
GetMsolUser –UserPrincipalName aaandreev@vmblog.onmicrosoft.com