2016-08-11 60 views
0

我正在使用下面的這個powershell腳本來通過.csv文件許可office365中的批量用戶。O365批量許可證

的UserPrincipalName
[email protected]

但是,我們的.csv的格式爲: 「別名」, 「UPN」

如果.csv文件頭是該腳本才起作用
     "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.UPN替換$ item.UserPrincipalName。

+0

多數民衆贊成我第一件事,但它沒有工作,這就是爲什麼我來這裏尋求幫助..我認爲UserPrincipalName是一個獨特的名稱,O365使用。 – Mykal

+0

Mykal我看不到O365獲得「UserPrincipalName」或替代值的位置。你傳遞一個$ MSOLUserName變量作爲參數(兩次),所以你的問題不需要處理成員變量或變量名。粘貼您收到的錯誤消息。 –

+0

Set-MsolUser:找不到與參數名稱'UPN'匹配的參數。 在行:11字符:18 + SET-MsolUser -UPN <<<< $ MSOLUserName -UsageLocation $ UsageLocation + CategoryInfo:InvalidArgument:(:) [設置MsolUser],ParameterBindingException + FullyQualifiedErrorId:NamedParameterNotFound,Microsoft.Online .Administration.Automation.SetUser Set-MsolUserLicense:找不到與參數名稱'UPN'相匹配的參數。 在行:12字符:25 – Mykal