Azure active directory 通过Azure Active Directory PowerShell for Graph模块添加到Microsoft 365组的来宾无法查看团队站点
快速解释:Azure active directory 通过Azure Active Directory PowerShell for Graph模块添加到Microsoft 365组的来宾无法查看团队站点,azure-active-directory,microsoft-graph-api,microsoft-teams,Azure Active Directory,Microsoft Graph Api,Microsoft Teams,快速解释: 我们希望将新来宾添加到尽可能精简的Microsoft团队中。通过Powershell将来宾添加到M365组似乎可行,并且来宾会出现在团队成员中,但发送给来宾的URL不会将其加入团队频道。他们会得到一个空的团队仪表板(没有频道)或“您需要访问此团队或频道的权限”,具体取决于URL。从团队中删除来宾,然后通过团队管理门户重新添加他们,效果很好 重新创建的步骤: 有一个团队已经建立并开始工作,例如“MSTeamTest” 在c:\temp中创建一个名为investments.CSV的CSV
我们希望将新来宾添加到尽可能精简的Microsoft团队中。通过Powershell将来宾添加到M365组似乎可行,并且来宾会出现在团队成员中,但发送给来宾的URL不会将其加入团队频道。他们会得到一个空的团队仪表板(没有频道)或“您需要访问此团队或频道的权限”,具体取决于URL。从团队中删除来宾,然后通过团队管理门户重新添加他们,效果很好 重新创建的步骤:
https://admin.teams.microsoft.com/teams/manage/{Teamid}
但是,如果此人试图使用https://teams.microsoft.com/?tenantid={putIDHere}
他们得到一个空的团队仪表板(没有列出任何团队)
如果您从“更多”>“获取团队链接”向他们发送团队链接,他们会尝试以下方式:https://teams.microsoft.com/l/team/19%{teamID}%40thread.tacv2/conversations?groupId={groupId}&tenantId={tenantId}
他们得到:
“您需要访问此团队或频道的权限。请尝试与团队所有者或管理员联系。”
如果他们遵循这样的链接,也会发生同样的行为:https://myapps.microsoft.com/?tenantid={tenantID}
-他们看到自己是“MSTeamTest”组的成员,没有应用程序。单击组可以让他们启动团队,但他们会得到相同的“您需要权限”对话框
再一次-通过管理面板,这个人看起来是会员的一部分。对于现有成员,他们会将其视为团队中的客人。我几乎错过了一个powershell命令
我为什么要这么做?
如果最终目标只是让一位客人在团队中启动和运行,那么这个过程就太混乱了。两封电子邮件之间有人工干预,会让客人感到困惑(一封用于AAD,一封用于团队)
AzureAD B2B允许您创建一个来宾,同时使他们成为组的成员,但对于在UI中使用CSV新来宾用户的批量导入,它不允许您向组(即有问题的团队)添加成员身份,因此我转向PowerShell
我知道有人说传播东西需要一段时间:
然而,这似乎不是问题所在
如果您有任何想法或解决方案,我将不胜感激!谢谢 仅供参考,请注意,当您通过powershell或团队向o365组添加用户时,可能需要24小时才能与团队后端同步并完全配置用户。它们实际上是两个独立的数据集,o365成员身份需要与microsoft后端上的团队数据同步。因此,您可能会在24小时内看到不一致的情况。这不是一个实时操作 所有新冠病毒在家工作的情况使问题变得更糟,因为团队看到了如此大量的用户。
但如果您注意到不一致,这通常就是原因,特别是如果您通过powershell添加用户,或者通过graph api添加更多用户 仅供参考,请注意,当您通过powershell或团队向o365组添加用户时,可能需要24小时才能与团队后端同步并完全配置用户。它们实际上是两个独立的数据集,o365成员身份需要与microsoft后端上的团队数据同步。因此,您可能会在24小时内看到不一致的情况。这不是一个实时操作 所有新冠病毒在家工作的情况使问题变得更糟,因为团队看到了如此大量的用户。
但如果您注意到不一致,这通常就是原因,特别是如果您通过powershell添加用户,或者通过graph api添加更多用户 似乎有效的操作顺序是:
New AzureADMSInvitation
开始睡眠-30秒
Add TeamUser
步骤#3是
安装模块-Name MicrosoftTeams
的一部分。团队的电子邮件似乎在初次邀请后10-15分钟发送。Microsoft团队电子邮件有一个SharePoint链接,如果您进入其中的文档,最终将看到打开团队频道的链接。到目前为止,这似乎是可行的,尽管有提到的延迟。似乎可行的操作顺序是:
New AzureADMSInvitation
开始睡眠-30秒
Add TeamUser
步骤#3是
安装模块-Name MicrosoftTeams
的一部分。团队的电子邮件似乎在初次邀请后10-15分钟发送。Microsoft团队电子邮件有一个SharePoint链接,如果您进入其中的文档,最终将看到打开团队频道的链接。到目前为止,这似乎是可行的,尽管有提到的延迟。我刚刚注意到,虽然添加的来宾出现在:{groupID}中,但它们不出现在>管理团队中。我猜我应该使用这个团队模块,或者与现有代码结合使用:-将继续挖掘。。从该模块对groupID运行“Get TeamUser”后,用户似乎已被授予权限。。。很奇怪。就像它唤醒了一切。也许都是马车。我将尝试删除
Name,InvitedUserEmailAddress,TeamName
Test Person, testperson@gmail.com, MSTeamTest
# Install AzureADPreview
Install-Module AzureADPreview
# Hit UI login for AAD global admin:
Connect-AzureAD
# import CSV
$invitations = import-csv c:\temp\invitations.csv
# Add guest users to AzureAD
$messageInfo = New-Object Microsoft.Open.MSGraph.Model.InvitedUserMessageInfo
$messageInfo.customizedMessageBody = "Hey there! Check this out. I created an invitation through PowerShell"
foreach ($email in $invitations) {New-AzureADMSInvitation -InvitedUserEmailAddress $email.InvitedUserEmailAddress -InvitedUserDisplayName $email.Name -InviteRedirectUrl https://teams.microsoft.com/?tenantid={putIDHere} -InvitedUserMessageInfo $messageInfo -SendInvitationMessage $true}
# Add same guest users to Microsoft 365 Group (same csv)
# wait a few seconds so the new guest user objects are available to add to the group
Start-Sleep -Second 30
foreach ($email in $invitations) {Add-AzureADGroupMember -RefObjectId (Get-AzureADUser | Where { $_.Mail -eq $email.InvitedUserEmailAddress }).ObjectID -ObjectId (Get-AzureADGroup | Where { $_.DisplayName -eq $email.TeamName }).ObjectID}