PowerShell: модуль Azure AD, ошибка команды массового включения O365

Первый пост здесь.. У меня небольшая проблема с командой PowerShell. Я использую модуль Azure AD и пытаюсь массово включить пользователей для O365 с помощью CSV-файла и этого руководства: http://www.powershellmagazine.com/2012/04/23/provisioning-and-licensing.-office-365-accounts-with-powershell/

Я прошел весь путь без проблем и могу включить одного пользователя, используя метод, описанный в этой статье, но при попытке массового включения я получаю следующее:

Команда:

Import-CSV -Path sapusers_sample.csv | ForEach-Object {Set-MsolUserLicense -UserPrincipalName $_.UserPrincipalName -AddLicenses wcs1:STANDARDWOFFPACK -LicenseOptions $options}

Ошибка:

Set-MsolUserLicense : You must provide a required property: Parameter name: UsageLocation

($options — это просто переменная, содержащая отключенные планы, мы пока не хотим, чтобы у пользователей был включен Exchange)

Странно то, что при чтении текста справки для Set-MsolUserLicense в списке нет параметра UsageLocation. И когда я пытаюсь его добавить, например Set-MsolUserLicense -UsageLocation US, PS возвращает следующее:

Set-MsolUserLicense : A parameter cannot be found that matches parameter name 'UsageLocation'

Итак... PS запрашивает несуществующий параметр для Set-MsolUserLicense?.. или я неправильно это истолковываю... любая помощь приветствуется - спасибо!!!!

Дэйв


person Dave    schedule 27.03.2014    source источник


Ответы (1)


Office 365 требует, чтобы место использования пользователя определяло, какие службы ему доступны. Таким образом, UsageLocation — это свойство пользователя, которое можно установить с помощью параметра -UsageLocation для Set-MsolUser или New-MsolUser:

 Set-MsolUser -UserPrincipalName [email protected] -UsageLocation "US";

После того как вы установили UserLocation пользователя, вы сможете назначать лицензии этому пользователю.

Если место использования одинаково для всех ваших пользователей, вы можете включить его непосредственно в цикл ForEach-Object:

Import-CSV -Path sapusers_sample.csv | ForEach-Object {
    Set-MsolUser -UserPrincipalName $_.UserPrincipalName `
        -UsageLocation "US";
    Set-MsolUserLicense -UserPrincipalName $_.UserPrincipalName `
        -AddLicenses wcs1:STANDARDWOFFPACK `
        -LicenseOptions $options;
}

Вы также можете так же легко добавить столбец «UsageLocation» во входной CSV:

Import-CSV -Path sapusers_sample.csv | ForEach-Object {
    Set-MsolUser -UserPrincipalName $_.UserPrincipalName `
        -UsageLocation $_.UsageLocation;
    Set-MsolUserLicense -UserPrincipalName $_.UserPrincipalName `
        -AddLicenses wcs1:STANDARDWOFFPACK `
        -LicenseOptions $options;
}
person Philippe Signoret    schedule 27.03.2014