チュートリアル:PowerShell を使用して Microsoft Entra B2B コラボレーション ユーザーを一括で招待する
[アーティクル] 2024/06/05
8 人の共同作成者
フィードバック
この記事の内容
前提条件
CSV ファイルを準備する
テナントにサインインする
招待状を一括送信する
ユーザーがディレクトリに存在することを確認する
リソースをクリーンアップする
関連するコンテンツ
さらに 3 個を表示
適用対象 : 従業員テナント 外部テナント (詳細情報 )
Microsoft Entra B2B コラボレーションを使用して外部パートナーと協力する場合は、ポータルまたは PowerWhell を使って複数のゲスト ユーザーを組織に同時に招待できます。 このチュートリアルでは、PowerShell を使用して、外部ユーザーに招待状を一括送信する方法について説明します。 具体的には、以下を実行します。
ユーザー情報を含むコンマ区切り値 (.csv) ファイルを準備する
PowerShell スクリプトを実行して招待状を送信する
ユーザーがディレクトリに追加されたことを確認する
Azure サブスクリプションをお持ちでない場合は、開始する前に 無料アカウント を作成してください。
最新の Microsoft Graph PowerShell モジュールをインストールする
必ず最新バージョンの Microsoft Graph PowerShell モジュールをインストールしてください。
最初に、インストールされているモジュールを調べます。 管理者特権で PowerShell を開き (管理者として実行)、次のコマンドを実行します。
Get-InstalledModule Microsoft.Graph
SDK の v1 モジュールを PowerShell Core または Windows PowerShell にインストールするには、次のコマンドを実行します。
Install-Module Microsoft.Graph -Scope CurrentUser
必要に応じて、-Scope
パラメーターを使ってインストールのスコープを変更できます。 これには管理者のアクセス許可が必要です。
Install-Module Microsoft.Graph -Scope AllUsers
ベータ モジュールをインストールするには、次のコマンドを実行します。
Install-Module Microsoft.Graph.Beta
信頼されていないリポジトリからモジュールをインストールしていることを示すメッセージが表示される場合があります。 これは、PSGallery リポジトリを信頼されたリポジトリとして事前に設定していない場合に発生します。 Y
を押してモジュールをインストールします。
招待状の送信先となる、複数のテスト用の電子メール アカウントが必要です。 このアカウントは、組織外にある必要があります。 gmail.com
や outlook.com
のアドレスなどのソーシャル アカウントを含む任意の種類のアカウントを使用できます。
Microsoft Excel で、被招待者のユーザー名と電子メール アドレスの一覧を含む CSV ファイルを作成します。 列見出しとして Name と InvitedUserEmailAddress を必ず含めてください。
たとえば、次の形式のワークシートを作成します。
ファイルを C:\BulkInvite\Invitations.csv として保存します。
Excel をお持ちでない場合は、メモ帳などの任意のテキスト エディターで CSV ファイルを作成できます。 行ごとに値をコンマで区切って入力します。
次のコマンドを実行してテナントに接続します。
Connect-MgGraph -TenantId "<YOUR_TENANT_ID>"
たとえば、Connect-MgGraph -TenantId "aaaabbbb-0000-cccc-1111-dddd2222eeee"
のようにします。 テナント ドメインも使用できますが、パラメーターは -TenantId
のままです。 たとえば、Connect-MgGraph -TenantId "contoso.onmicrosoft.com"
のようにします。
メッセージが表示されたら、資格情報を入力します。
招待メールを送信するには、次の PowerShell スクリプトを実行します (c:\bulkinvite\invitations.csv は CSV ファイルのパスです)。
$invitations = import-csv c:\bulkinvite\invitations.csv
$messageInfo = New-Object Microsoft.Graph.PowerShell.Models.MicrosoftGraphInvitedUserMessageInfo
$messageInfo.customizedMessageBody = "Hello. You are invited to the Contoso organization."
foreach ($email in $invitations) {
New-MgInvitation
-InvitedUserEmailAddress $email.InvitedUserEmailAddress `
-InvitedUserDisplayName $email.Name `
-InviteRedirectUrl https://myapplications.microsoft.com/?tenantid=aaaabbbb-0000-cccc-1111-dddd2222eeee `
-InvitedUserMessageInfo $messageInfo `
-SendInvitationMessage
}
このスクリプトは、invitations.csv ファイル内の電子メール アドレスに招待状を送信します。 次の例のようなユーザーごとの出力が表示されます。
招待されたユーザーが Microsoft Entra ID に追加されたことを確認するには、次のコマンドを実行します。
Get-MgUser -Filter "UserType eq 'Guest'"
招待したユーザーが表示されていることを確認します。emailaddress #EXT#@domain 形式のユーザー プリンシパル名 (UPN) になっています。 たとえば、msullivan_fabrikam.com#EXT#@contoso.onmicrosoft.com では、contoso.onmicrosoft.com
が招待状を送信した組織になります。
不要になったら、ディレクトリ内のテスト用のユーザー アカウントを削除できます。 ユーザー アカウントを削除するには、次のコマンドを使用します。
Remove-MgUser -UserId "<String>"
例: Remove-MgUser -UserId "00aa00aa-bb11-cc22-dd33-44ee44ee44ee"
このチュートリアルでは、組織の外部のゲスト ユーザーに招待状を一括送信しました。 次に、ポータルでゲスト ユーザーを一括招待する方法と、そのユーザーに MFA を適用する方法について説明します。