您现在访问的是微软AZURE全球版技术文档网站,若需要访问由世纪互联运营的MICROSOFT AZURE中国区技术文档网站,请访问 https://docs.azure.cn.

教程:使用 PowerShell 批量邀请 Azure AD B2B 协作用户

如果使用 Azure Active Directory (Azure AD) B2B 协作功能与外部合作伙伴进行协作,可同时邀请多名来宾用户加入你的组织。 在本教程中,你将学习如何使用 PowerShell 向外部用户批量发送邀请。 具体操作如下:

  • 准备一个具有用户信息的逗号分隔值 (.csv) 文件
  • 运行 PowerShell 脚本以发送邀请
  • 验证是否已将用户添加到目录中

如果还没有 Azure 订阅,可以在开始前创建一个免费帐户

先决条件

安装最新的 AzureADPreview 模块

确保已安装最新版本的 Azure AD PowerShell for Graph 模块 (AzureADPreview)。

首先,检查已安装了哪些模块。 以已提升的用户身份打开 Windows PowerShell(以管理员身份运行),然后运行以下命令:

Get-Module -ListAvailable AzureAD*

根据输出,执行以下操作之一:

  • 如果未返回任何结果,请运行以下命令来安装 AzureADPreview 模块:

    Install-Module AzureADPreview
    
  • 如果结果中仅显示了 AzureAD 模块,请运行以下命令来安装 AzureADPreview 模块:

    Uninstall-Module AzureAD
    Install-Module AzureADPreview
    
  • 如果结果中仅显示了 AzureADPreview 模块,但收到消息指出存在更新的版本,请运行以下命令来更新此模块:

    Uninstall-Module AzureADPreview
    Install-Module AzureADPreview
    

可能会收到提示,其要求你从不受信任的存储库安装模块。 如果之前未将 PSGallery 存储库设置为受信任的存储库,则可能出现此情况。 按 Y 以安装模块。

获取测试电子邮件帐户

需要两个或更多可向其发送邀请的测试电子邮件帐户。 这些帐户必须来自组织外部。 可使用任意类型的帐户,包括 gmail.com 或 outlook.com 地址等社交帐户。

准备 CSV 文件

在 Microsoft Excel 中,使用受邀用户的姓名和电子邮件地址列表创建一个 CSV 文件。 请确保包含“Name”和“InvitedUserEmailAddress”列标题 。

例如,按以下格式创建一个工作表:

显示“等待用户接受”的 PowerShell 输出

将此文件保存为 C:\BulkInvite\Invitations.csv。

如果没有 Excel,可在任意文本编辑器(例如记事本)中创建 CSV 文件。 以逗号分隔每个值,以换行符分隔每一行。

登录租户

运行以下命令以连接到租户域:

Connect-AzureAD -TenantDomain "<Tenant_Domain_Name>"

例如,Connect-AzureAD -TenantDomain "contoso.onmicrosoft.com"

在系统提示时输入凭据。

批量发送邀请

要发送邀请,请运行以下 PowerShell 脚本(其中 c:\bulkinvite\invitations.csv 是 CSV 文件的路径):

$invitations = import-csv c:\bulkinvite\invitations.csv

$messageInfo = New-Object Microsoft.Open.MSGraph.Model.InvitedUserMessageInfo

$messageInfo.customizedMessageBody = "Hello. You are invited to the Contoso organization."

foreach ($email in $invitations)
   {New-AzureADMSInvitation `
      -InvitedUserEmailAddress $email.InvitedUserEmailAddress `
      -InvitedUserDisplayName $email.Name `
      -InviteRedirectUrl https://myapps.microsoft.com `
      -InvitedUserMessageInfo $messageInfo `
      -SendInvitationMessage $true
   }

此脚本会向 Invitations.csv 文件中的电子邮件地址发送邀请。 对于每位用户,应会看到与下面类似的输出:

显示 PowerShell 输出的屏幕截图,其中包括挂起的用户接受。

验证目录中是否存在用户

要验证是否已向 Azure AD 添加受邀用户,请运行以下命令:

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

应会看到已列出受邀用户,其中用户主体名称 (UPN) 采用 emailaddress#EXT#@domain 的格式。 例如,lstokes_fabrikam.com#EXT#@contoso.onmicrosoft.com,其中 contoso.onmicrosoft.com 是你从其发送邀请的组织。

清理资源

目录中不再需要测试用户帐户时,请将其删除。 运行以下命令来删除用户帐户:

 Remove-AzureADUser -ObjectId "<UPN>"

例如: Remove-AzureADUser -ObjectId "lstokes_fabrikam.com#EXT#@contoso.onmicrosoft.com"

后续步骤

在本教程中,你向组织外部的来宾用户批量发送了邀请。 接下来,将学习如何执行邀请兑换过程。