Azure ADのPowerShell(v1)でMicrosoft365を操作(その3:ユーザの一括登録)

投稿者: | 2020年5月1日

powershell(v1)でMicrosoft365の操作シリーズです。
Microsoft365(office365) へのユーザ登録は通常はブラウザから管理ツールを使って行います。ユーザ登録やライセンスの許可などの場合は、多くのユーザアカウントで同じ作業の繰り返しとなります。

オンプレミスのActive Directoryがあれば、AAD(Azure AD Connect)の同期を使えば一気にMicrosoft365アカウントの作成ができますが、手動で行うとなると大変な作業です。そこで、PowerShellでcsvファイルを使いユーザの一括登録や設定を行います。

特に「Microsoft Teamsを導入しよう。でも、AD同期はまだ」といった場合のユーザ登録に最適です。

今までのシリーズはこちらから。
その1:Microsoft365に接続
その2:コマンド集
その3:ユーザの一括登録

ユーザ作成の流れ

excelで作ったcsvファイルを使ってMicrosoft365にユーザを一括登録する流れは以下になります。

①Microsoft365へ接続しライセンスの確認
③excelでユーザ情報を作成しcsvファイル形式で保存する
③powershellを実行する。

Microsoft365へ接続しライセンスの確認

Microsoft365へ接続しライセンスの購入数と使用数を確認します。操作手順はこちらを参照ください。
なお、ライセンス状況は以下になります。
・ActiveUnits:購入したライセンス数
・ConsumedUnits:使用(消費)したライセンス数

上記の実行結果のAccountSkuIdの値はライセンス購入方法により異なります。例えば、Microsoftから直接購入した場合はテナント名がそのままで、販売店を経由して購入した場合はreseller-accountとなります。

excelでユーザ情報を作成しcsvファイル形式で保存する

ここでは以下の情報をもとにMicrosoft365にユーザを作成するものとします。
これに基づいてexcelファイルを作成します。


・UserPrincipalName (メールアドレス ログオン名)
・LastName(姓)
・FirstName (名)
・DisplayName (表示名)
・Password(初期パスワード)
・AccountSkuId(付与するライセンス)
・日本で使う(UsageLocation、PreferredLanguage)

これをもとにcsv形式で保存します。
注意点は、文字化け防止のためcsvファイルを保存する際に文字コードをUTF-8 に指定することです。

既存のActive Directoryからユーザ情報をとる

既存のActive Directoryから必要なユーザ情報を取り出すことができます。
もっとも、オンプレミスのActive Directoryがあるならば、AAD(Azure AD Connect)の同期を使えば一気にMicrosoft365アカウントの作成ができますが、同期ができない場合は以下のコマンドで取得することができます。
なお、例ではドメインが「dom.local」となっています。また、作成するcsvファイルは 「C:\temp\ADUserList.csv」となっています。

作成したcsvの内容をMicrosoft365ように置き換える際には以下のように変更します。

項目 users_add.csv ADUserList.csv
メールアドレス ログオン名 UserPrincipalName mail
LastName SurName
FirstName GivenName
表示名 DisplayName DisplayName

powershellでMicrosoft365にユーザ作成する

作成したcsvファイルをもとにMicrosoft365にユーザ作成します。
ここでは作成したcvsファイル名は users_add.csv とします。
また、以下の条件を付けたしてあります。


・ユーザへは「最初のログオン時にパスワード変更を要求」(ForceChangePassword)
・Microsoft365のライセンスを付与(LicenseAssignment)
・日本で使う(UsageLocation、PreferredLanguage)

ユーザ作成だけしてライセンスは付与しない

ユーザ作成だけしてライセンスは付与しない場合は、csvファイルはそのままでコマンドを変えます。
コマンドから「-LicenseAssignment $_.AccountSkuId」を抜くことでユーザ作成のみとなります。

あとから、ライセンスを付与する場合は、csvファイルはそのままで以下のコマンドで行います。

ユーザパスワードの無期限化

最近のMicrosoft365 はユーザ認証にパスワードよりも生体認証を推奨しているようで、パスワードを無期限化することを進めています。 その是非は置いといて、ユーザパスワードを無期限化するのは以下になります。

確認

ユーザが作成できたかは以下のコマンドで確認できます。

なお、Microsoft管理センターでも確認できます。

次の操作

次回は、「Azure ADのPowerShell(v1)でMicrosoft365を操作(その4:グループにユーザ一括登録)」になります

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です