2016-08-11 5 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].com",$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変数を引数として渡しています(2回)ので、問題はメンバー名や変数名とは関係ありません。表示されているエラーメッセージを貼り付けます。 –

+0

Set-MsolUser:パラメータ名 'UPN'に一致するパラメータが見つかりません。ラインで :11文字:18 +セットMsolUser -UPN <<<< $ MSOLUserName -UsageLocation $ UsageLocation + CategoryInfo:InvalidArgument:(:)、ParameterBindingException + FullyQualifiedErrorId [-MsolUser設定]:NamedParameterNotFound、Microsoft.Online .Administration.Automation.SetUser Set-MsolUserLicense:パラメータ名 'UPN'に一致するパラメータが見つかりません。ラインで :12文字:25 – Mykal

関連する問題