Powershell: передача вывода Get-ADUser в Set-MsolUserLicense

Я новичок в Powershell, и я застрял, пытаясь понять это. Мы переходим на Office 365, и это была головная боль, не обязательно из-за Microsoft или нашего провайдера, но мы получили массу удовольствия, заставив это работать в нашу пользу.

У меня есть CSV пользователей, которым я должен удалить их лицензию в O365 для одного продукта и повторно лицензировать их для другого продукта. Я пытаюсь сделать это двумя «островками» и теряюсь. Вот что у меня есть до сих пор:

Import-Csv "C:\Users\myuser\Desktop\convert.csv" | ForEach-Object {Get-ADUser -Identity $_.user | select UserPrincipalName | Set-MsolUserLicense -UserPrincipalName $_.UserPrincipalName -RemoveLicenses "mycorp:ENTERPRISEDESKLESS"}

CSV имеет заголовок «пользователь» и несколько записей пользователей как просто имена их учетных записей. Если я проверю команду до вывода функции Select, все работает правильно, это не работает передача этого вывода в Set-MsolUserLicense.


person Andrew    schedule 27.04.2016    source источник


Ответы (1)


У меня нет возможности проверить это прямо сейчас, но это должно работать так

Import-Csv "C:\Users\myuser\Desktop\convert.csv" | ForEach-Object {Get-ADUser -Identity $_.user | Set-MsolUserLicense -RemoveLicenses "mycorp:ENTERPRISEDESKLESS"}

Согласно справочной информации для Set-MsolUserLicense

-UserPrincipalName <string>
    The user ID of the user to update.

    Required?                    true
    Position?                    named
    Default value                
    Accept pipeline input?       true (ByPropertyName)
    Accept wildcard characters?  false

Параметр UserPrincipalName принимает входные данные из конвейера и ByPropertyName, поэтому, поскольку командлет Get-ADUser предоставит вам свойство с этим именем при передаче его в Set-MsolUserLicense, он сможет автоматически использовать правильное значение.

person Martin Lhotsky    schedule 27.04.2016
comment
Кажется, это сработало. Я продолжаю видеть ошибку о недействительной лицензии, но, похоже, она все равно вносит изменения. Спасибо! - person Andrew; 28.04.2016