Azure ADのPowerShellでMicrosoft365を操作(その5:ゲストユーザ一を一括作成/招待)

投稿者: | 2020年6月17日

Microsoft365(office365) へのゲストユーザ登録は自社ユーザが勝手に追加などをしないように管理することが必要です。管理者のみがゲストユーザを作成(招待)することが望ましいです。
そのゲストユーザ作成は、通常はブラウザから管理ツールを使って行います。ゲストユーザが多い場合は多くのユーザアカウントで同じ作業の繰り返しとなり、手動で行うとなると大変な作業です。

ここでは、Azure ADのPowerShellでcsvファイルを使いユーザの一括登録や設定を行うことができます。
あわせて、GUIでの一括作成も参照ください。

目次

ゲストユーザ作成の流れ

csvファイルを使ってMicrosoft365にゲストユーザを一括登録(招待)する流れは以下になります。

①csvファイル形式でユーザ情報を作成
②Microsoft365へ接続
③powershellを実行しゲストユーザへ招待メール送信
④招待されたゲストユーザが承認するとユーザ登録される

csvファイルの作成

ここでは以下の情報をもとに招待メールを送るゲストユーザを作成します。

・DisplayName(表示名)
・EmailAddress(メールアドレス)

これをもとにcsv形式で保存します。

DisplayName,EmailAddress
鈴木,一郎,ichisuz@yahoo.co.jp
田中,花子,tanhana@google.com

注意点は、文字化け防止のためcsvファイルを保存する際に文字コードをUTF-8 (BOM付き)に指定することです。

AzureADへの接続

AzureADPreview モジュールをインストール

ゲストユーザの作成(招待)には ”AzureADPreview モジュールのインストール” が必要となります。インストール方法はこちらを参照ください。

AzureADに接続

AzureADに接続します。コマンドは「Connect-AzureAD」です。

PS> Connect-AzureAD

ポップアップ画面に管理者アカウントとパスワードを使用してサイン インします。

ゲストユーザに招待メールを送信する

作成したcsvファイルをもとにゲストユーザに招待メールを送信します。
ここでは作成したcvsファイル名は users_add.csv とします。

PS>#招待メール送信
PS> Import-Csv -Path ".\users_add.csv" |
      ForEach-Object {New-AzureADMSInvitation ` 
        -InvitedUserDisplayName $_.DisplayName `
        -InvitedUserEmailAddress $_.EmailAddress `
        -InviteRedirectURL https://myapps.microsoft.com `
        -SendInvitationMessage $true `
     }

#以下のような出力がユーザ数だけ出ます

Id                      : aaaaa-bbbb-cccc
InvitedUserDisplayName  : 鈴木 一郎
InvitedUserEmailAddress : ichisuz@yahoo.co.jp
SendInvitationMessage   : True
InviteRedeemUrl         : https://login.microsoftonline.com/redeem?rd=https%3a%2f%2finvitations.microsoft.com
InviteRedirectUrl       : https://myapps.microsoft.com/
InvitedUser             : class User {
                            Id: aaaaa-bbbb-cccc
                            OdataType:
                          }

InvitedUserMessageInfo  : class InvitedUserMessageInfo {
                            CcRecipients: System.Collections.Generic.List`1[Microsoft.Open.MSGraph.Model.Recipient]
                            CustomizedMessageBody:
                            MessageLanguage:
                          }

InvitedUserType         : Guest
Status                  : PendingAcceptance
ResetRedemption         : False

ゲストユーザの確認

招待されたゲストユーザーが AzureAD に追加されたことを確認するにはコマンド「Get-AzureADUser -Filter “UserType eq ‘Guest'”」を実行します。

Get-AzureADUser -Filter "UserType eq 'Guest'"

出力をチェックして招待したゲストユーザーが表示されていることを確認します。ユーザは「emailaddress#EXT#@domain」 形式のユーザー プリンシパル名 (UPN) になっています。 たとえば、sanda_fabrikam.com#EXT#@contoso.onmicrosoft.com では、contoso.onmicrosoft.com が招待状を送信した組織になります。

ゲストユーザの削除

ゲストユーザーをAzureAD から削除するにはコマンド「Remove-AzureADUser -ObjectId <id>」を実行します。

 Remove-AzureADUser -ObjectId "<id>"

参考

クイック スタート:PowerShell を使用してゲスト ユーザーを追加する
<https://docs.microsoft.com/ja-jp/azure/active-directory/b2b/b2b-quickstart-invite-powershell>

チュートリアル:PowerShell を使用して Azure AD B2B コラボレーション ユーザーを一括で招待する
<https://docs.microsoft.com/ja-jp/azure/active-directory/b2b/bulk-invite-powershell>

コメントを残す

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