2016-08-11 4 views
0

Я использую этот сценарий powershell ниже, чтобы лицензировать массовых пользователей в office365 на .csv-файл. Сценарий будет работать только если заголовок .csv файла:Лицензия на объем O365

UserPrincipalName
[email protected]

Но наш .csv отформатирован: "Alias", "UPN"

     "myrobinson","[email protected]" 

Я хочу знать, как перекодировать этот скрипт, чтобы он работал с нашим .csv-файлом?

$path= Import-Csv -Path "\\11.10.38.142\Users\myrobinson\NewUsers.csv" 
foreach ($item in $path){ 

$MSOLUserName= $item.UserPrincipalName 

$password = ConvertTo-SecureString "[email protected]" -AsPlainText –Force 

$credential = New-Object System.Management.Automation.PsCredential("[email protected]",$password) 

$cred = Get-Credential -cred $credential 

Import-Module MSOnline 

Connect-Msolservice -cred $cred 

$AccountSkuId = "jpsd:STANDARDWOFFPACK_FACULTY" 

$UsageLocation = "US" 

$LicenseOptions = New-MsolLicenseOptions -AccountSkuId $AccountSkuId 

Set-MsolUser -UserPrincipalName $MSOLUserName -UsageLocation $UsageLocation 

Set-MsolUserLicense -UserPrincipalName $MSOLUserName -AddLicenses 

$AccountSkuId -LicenseOptions $LicenseOptions 

} 
+0

Почему бы просто не изменить заголовок в CSV? – TheMadTechnician

ответ

0

Просто замените $ item.UserPrincipalName на $ item.UPN.

+0

Это первое, что я пробовал, но это не сработало, поэтому я пришел сюда для помощи .. Я думаю, что UserPrincipalName - уникальное имя, которое использует O365. – Mykal

+0

Mykal Я не вижу, где O365 получает «UserPrincipalName» или альтернативное значение. Вы передаете переменную $ MSOLUserName в качестве аргумента (дважды), поэтому ваша проблема не связана с именами элементов или переменных. Вставьте сообщение об ошибке, которое вы получаете. –

+0

Set-MsolUser: Невозможно найти параметр, который соответствует имени параметра «UPN». В строке: 11 символ: 18 + Set-MsolUser -upn <<<< $ MSOLUserName -UsageLocation $ UsageLocation + CategoryInfo: InvalidArgument: (:) [Set-MsolUser], ParameterBindingException + FullyQualifiedErrorId: NamedParameterNotFound, Microsoft.Online .Administration.Automation.SetUser Set-MsolUserLicense: параметр не может быть найден, который соответствует имени параметра «UPN». В строке: 12 символ: 25 – Mykal

Смежные вопросы