Azure AD:使用Powershell以编程方式接受来宾用户的邀请

时间:2017-09-20 11:30:28

标签: powershell azure-active-directory azure-ad-graph-api

我有两个单独的Azure AD实例,' a'和' b'。我想邀请' b'进入' a' (以访客用户身份)以编程方式。为此,我使用了AzureAD Powershell模块:

$Result = New-AzureADMSInvitation `
        -InvitedUserEmailAddress $Email `
        -InvitedUserDisplayName $DisplayName `
        -InviteRedirectUrl $InviteRedirectUrl `
        -SendInvitationMessage $false

邀请应自动接受,不会发送邀请电子邮件。这就是我传递参数-SendInvitationMessage $false的原因。但是,我注意到用户在接受邀请之前无法登录(尽管没有发送电子邮件)。

有没有办法以编程方式代表用户接受邀请?是使用AzureAD Powershell模块,还是通过变通方法(例如调用Graph API)?

我是两个Azure AD实例的管理员,由于我自己创建了用户,因此我也拥有凭据。我希望避免手动接受邀请的麻烦。

1 个答案:

答案 0 :(得分:1)

默认情况下,如果您向租户添加外国用户,则会向您添加的用户发送邀请邮件,并且用户必须兑换邀请。

用户可以打开兑换链接并完成用户创建过程。邀请电子邮件被发送到包含兑换链接的相应的受邀电子邮件Id。 sendInvitationMessage = false将禁用邀请电子邮件,以便您可以使用自己的电子邮件机制来获取自定义内容以及兑换链接。但是用户仍然需要兑换邀请。

如果您想跳过邀请兑换的部分内容,那么您的合作伙伴组织的用户将被添加,而无需进一步互动。请尝试:

  1. 使访客用户的行为与租户中的成员一样,并且有权邀请其他访客用户。请点击here了解详细的AAD设置。

  2. 使用powershell邀请一位具有目录读取权限的用户/合作伙伴租户(外部租户)的全局管理员。该用户应手动兑换该邀请。

  3. 使用powershell(Connect-AzureAD)中的上述帐户连接Azure AD,邀请同一合作伙伴公司的其他用户。现在新添加的访客用户无需兑换邀请。

  4. 有关如何在没有邀请兑换的情况下添加访客用户的详细说明和步骤,请参阅this article