適用対象: 従業員テナント
外部テナント (詳細情報)
Microsoft Entra B2B コラボレーションを使用して外部パートナーと連携する場合は、ポータルまたは PowerShell を使用して複数のゲスト ユーザーを同時に組織に招待できます。 このチュートリアルでは、PowerShell を使用して、外部ユーザーに招待状を一括送信する方法について説明します。 具体的には、以下を実行します。
- ユーザー情報を含むコンマ区切り値 (.csv) ファイルを準備する
- PowerShell スクリプトを実行して招待状を送信する
- ユーザーがディレクトリに追加されていることを確認する
Azure サブスクリプションをお持ちでない場合は、開始する前に 無料アカウント を作成してください。
前提条件
最新の Microsoft Graph PowerShell モジュールをインストールする
最新バージョンの Microsoft Graph PowerShell モジュールをインストールしてください。
最初に、インストールされているモジュールを調べます。 管理者特権のユーザーとして PowerShell を開き (管理者として実行)、次のコマンドを実行します。
Get-InstalledModule Microsoft.Graph
PowerShell Core または Windows PowerShell に SDK の v1 モジュールをインストールするには、次のコマンドを実行します。
Install-Module Microsoft.Graph -Scope CurrentUser
必要に応じて、 -Scope
パラメーターを使用してインストールのスコープを変更します。 これには管理者のアクセス許可が必要です。
Install-Module Microsoft.Graph -Scope AllUsers
ベータ モジュールをインストールするには、次のコマンドを実行します。
Install-Module Microsoft.Graph.Beta
信頼されていないリポジトリからモジュールをインストールすることを求めるメッセージが表示される場合があります。 これは、PSGallery リポジトリを信頼されたリポジトリとして事前に設定していない場合に発生します。
Y
を押してモジュールをインストールします。
テスト用の電子メール アカウントを取得する
招待を送信するには、2 つ以上のテスト電子メール アカウントが必要です。 このアカウントは、組織外にある必要があります。
gmail.com
や outlook.com
のアドレスなどのソーシャル アカウントを含む任意の種類のアカウントを使用できます。
CSV ファイルを準備する
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 を適用する方法について説明します。