Edited at

Powershell を使用して Azure AD B2B ゲストユーザーを一括招待する

Azure AD B2B 機能を使用してゲストユーザーを招待する場合、通常は Azure ポータルから招待処理を行いますが、招待するユーザーが多い場合 Powershell を使用して一括で招待を行うのが効率的です。

以下の順番で実施していきます。


1. CSV を準備

下記の形式で CSV ファイルを作成します

InvitedUserEmailAddress … 招待されるユーザーの表示名を記載します

InvitedUserDisplayName … 招待メールの届くメール アドレスを記載します

たとえばこんな感じです

InvitedUserEmailAddress,InvitedUserDisplayName 

guest01.sample.com,guest01
guest02.sample.com,guest02
guest03.sample.com,guest03


2. Azure AD にグローバル管理者アカウントで接続します

Connect-AzureAD


3. 1. で用意した CSV ファイルのパスを指定して、以下のコマンドを実行します

$invitations = import-csv -Path "<CSV ファイルのパス>"


4. 招待処理のコマンドを実行します

foreach ($email in $invitations) 

{
New-AzureADMSInvitation
-InvitedUserEmailAddress $email.InvitedUserEmailAddress
-InvitedUserDisplayName $email.InvitedUserDisplayName
-InviteRedirectUrl "https://portal.azure.com/招待を実施したテナントのドメイン名"
-SendInvitationMessage $false
}


設定例

foreach ($email in $invitations) 

{
New-AzureADMSInvitation -InvitedUserEmailAddress $email.InvitedUserEmailAddress -InvitedUserDisplayName $email.InvitedUserDisplayName -InviteRedirectUrl "https://portal.azure.com/test.onmicrosoft.com" -SendInvitationMessage $false
}

招待したユーザー宛に招待メールを送信したい場合は、SendInvitationMessage\$true を指定します。$false を指定するとメールは送信されません。


5. 招待されたユーザーは招待先テナントのリソースのURL にアクセスします。

https://portal.azure.com/<招待を実施したテナントのドメイン名>

*招待メールを受信している場合は、招待メールのリンクをクリックします


6. アクセス許可の確認画面が表示されますので、承諾 をクリックして招待プロセスが完了します。

<参考情報>

Azure AD B2B におけるユーザーの新しい招待方法

https://blogs.technet.microsoft.com/jpazureid/2018/05/23/azure-ad-b2b-new/ 

Azure portal でディレクトリにゲスト ユーザーを追加する

https://docs.microsoft.com/ja-jp/azure/active-directory/b2b/b2b-quickstart-add-guest-users-portal

PowerShell を使用してゲスト ユーザーを追加する

https://docs.microsoft.com/ja-jp/azure/active-directory/b2b/b2b-quickstart-invite-powershell