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

Azure AD: accept invitation of guest user programmatically with Powershell

我有两个单独的 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 实例的管理员,并且由于我刚刚自己创建了用户,所以我也有凭据。我希望避免手动接受邀请的麻烦。

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

用户可以打开兑换link并完成用户创建过程。邀请电子邮件将发送到相应的受邀电子邮件 ID,其中包含兑换 link。 sendInvitationMessage = false 将禁用邀请电子邮件,以便您可以将自己的电子邮件机制用于自定义内容以及兑换 link。但用户仍然需要兑换邀请。

如果您想跳过邀请兑换部分,以便无需任何进一步交互即可添加您合作伙伴组织的用户。请尝试:

  1. 让来宾用户表现得像您租户中的成员,并有权邀请其他来宾用户。请点击here查看详细的AAD设置。

  2. 使用 powershell 邀请合作伙伴租户(外国租户)的目录为 permission/global admin 的用户。该用户应手动兑换该邀请。

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

请参阅this article了解如何在不取消邀请的情况下添加来宾用户的详细说明和步骤。