PowerShellでOffice365を操作する~ユーザーを一括登録しよう

Office365
PowerShellでOffice365を操作する~ユーザーを一括登録しよう

前回は、PowerShell で MS Online に接続し、Office365 を操作できる状態にしました。

今回は、CSVファイルを使い PowerShell で Office365 のユーザーを一括登録する方法をご紹介します。

多数のユーザーの登録をする場合には非常に強力です。

まずは前回の記事を参考に、MS Online に接続してください。

ライセンスの状態を確認する

契約書

このコマンドを入力すると、Office365 のライセンス状態が表示されます。

> Get-MsolAccountSku

AccountSkuId

Office365 のライセンスIDです。

ライセンスIDは「テナント名:プラン名」という構成となっています。

ちなみに弊社は「azscompany:O365_BUSINESS_PREMIUM」です。

ライセンスIDは、CSVファイルのライセンス欄に記載する値ですので、記録しておきましょう。

ActiveUnits

購入しているライセンス数です。

ConsumedUnits

使用されているライセンス数です。

つまり

ActiveUnits – ConsumedUnits = 使えるライセンス数

ということになります。

登録するユーザーのCSVファイルを作成する

ファイル

ファイルフォーマット

UserPrincipalName,FirstName,LastName,DisplayName,AccountSkuId
メールアドレス,名,姓,表示時の氏名,ライセンスID

UserPrincipalName,FirstName,LastName,DisplayName,AccountSkuId
taro.azasu@a-zs.co.jp,太郎,字須,字須 太郎,azscompany:O365_BUSINESS_PREMIUM
hanako.kawasaki@a-zs.co.jp,花子,川崎,川崎 花子,azscompany:O365_BUSINESS_PREMIUM

パスワードについて

パスワードは未設定の場合ランダムとなります。初期パスワードとして使えますので、ランダムのままでよいでしょう。

文字コード

UTF-8で作成します。
改行コードは CR + LF でよいです。

ユーザー登録を実行する

Enterキー

コマンド

Import-Csv -Path "CSVファイルのフルパス" | foreach {New-MsolUser -DisplayName $_.DisplayName -FirstName $_.FirstName -LastName $_.LastName -UserPrincipalName $_.UserPrincipalName -UsageLocation JP -PreferredLanguage ja-JP -ForceChangePassword $True -LicenseAssignment $_.AccountSkuId} | Export-Csv -Path "登録結果CSVファイル"

c:\NewUsers.csv に登録ユーザーのCSVファイルを配置し、登録結果を c:\NewUsersResults.csv に出力する場合は

Import-Csv -Path "c:\NewUsers.csv" | foreach {New-MsolUser -DisplayName $_.DisplayName -FirstName $_.FirstName -LastName $_.LastName -UserPrincipalName $_.UserPrincipalName -UsageLocation JP -PreferredLanguage ja-JP -ForceChangePassword $True -LicenseAssignment $_.AccountSkuId} | Export-Csv -Path "c:\NewUsersResults.csv"

となります。

ライセンス割り当てについて

ライセンスの割り当てをまだ行わない場合は、最後の

-LicenseAssignment $_.AccountSkuId

を除いてください。CSVファイルの該当の項目が無視されます。

一時パスワードにする

コマンドのパラメータに

-ForceChangePassword $True

が設定されていますが、これでパスワードが一時パスワード扱いになります。
(ユーザーが初回ログインした時にパスワードの変更が求められます。)

管理者がユーザーに伝える一時パスワードは、”登録結果CSVファイル”に出力されています。

試しに実行してみよう

ライセンス割り当てを除いて、数人分のファイルで実行してみましょう。

Office365 の「管理者」-「ユーザー」-「アクティブなユーザー」を確認すると、ライセンスなしのユーザーが登録されていると思います。

ブラウザで削除後に再度登録可能です。

最後に

最低限のユーザー登録はこれだけでOKです。非常に簡単です。

Office365 を一括で操作する場合、PowerShell は非常に強力です。

まだまだ他にも PowerShell でやった方がよい操作がありますので、折を見てご紹介しますね。