教程:使用 PowerShell 批量邀请 Microsoft Entra B2B 协作用户
适用于: 员工租户 外部租户(了解详细信息)
如果使用 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
若要安装 beta 版模块,请运行以下命令。
Install-Module Microsoft.Graph.Beta
可能会收到提示,其要求你从不受信任的存储库安装模块。 如果之前未将 PSGallery 存储库设置为受信任的存储库,则可能出现此情况。 按 Y
以安装模块。
获取测试电子邮件帐户
需要两个或更多可向其发送邀请的测试电子邮件帐户。 这些帐户必须来自组织外部。
准备 CSV 文件
在 Microsoft Excel 中,使用受邀用户的姓名和电子邮件地址列表创建一个 CSV 文件。 请确保包含“Name”和“InvitedUserEmailAddress”列标题 。
例如,按以下格式创建一个工作表:
将此文件保存为 C:\BulkInvite\Invitations.csv。
如果没有 Excel,可在任意文本编辑器(例如记事本)中创建 CSV 文件。 以逗号分隔每个值,以换行符分隔每一行。
登录租户
运行以下命令以连接到租户:
Connect-MgGraph -Environment China -ClientId 'YOUR_CLIENT_ID' -TenantId "<YOUR_TENANT_ID>"
例如 Connect-MgGraph -Environment China -ClientId 'YOUR_CLIENT_ID' -TenantId "aaaabbbb-0000-cccc-1111-dddd2222eeee"
。 也可以使用租户域,但参数仍为 -TenantId
。 例如 Connect-MgGraph -Environment China -ClientId 'YOUR_CLIENT_ID' -TenantId "contoso.partner.onmschina.cn"
。
在系统提示时输入凭据。
批量发送邀请
要发送邀请,请运行以下 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.windowsazure.cn/?tenantid=aaaabbbb-0000-cccc-1111-dddd2222eeee `
-InvitedUserMessageInfo $messageInfo `
-SendInvitationMessage
}
此脚本会向 Invitations.csv 文件中的电子邮件地址发送邀请。 对于每位用户,应会看到与下面类似的输出:
验证目录中是否存在用户
要验证是否已向 Microsoft Entra ID 添加受邀用户,请运行以下命令:
Get-MgUser -Filter "UserType eq 'Guest'"
应会看到已列出受邀用户,其中用户主体名称 (UPN) 采用 emailaddress#EXT#@domain 的格式。 例如,msullivan_fabrikam.com#EXT#@contoso.partner.onmschina.cn,其中 contoso.partner.onmschina.cn
是你从中发送邀请的组织。
清理资源
目录中不再需要测试用户帐户时,请将其删除。 运行以下命令来删除用户帐户:
Remove-MgUser -UserId "<String>"
例如:Remove-MgUser -UserId "00aa00aa-bb11-cc22-dd33-44ee44ee44ee"
后续步骤
在本教程中,你向组织外部的来宾用户批量发送了邀请。 接下来,了解如何在门户上批量邀请来宾用户,以及如何为其强制实施 MFA。