无法从多个联盟Office 365登录
备注
Office 365 ProPlus 正在重命名为 适用于企业的 Microsoft 365 应用。 有关此更改的详细信息, 请阅读此博客文章。
问题
来自多个联盟域中 (或子域的用户) 无法登录Office 365。 此外,他们会收到以下错误消息:
抱歉,登录时遇到问题。 AADSTS50107:请求的联盟领域对象"http:// <ADFShostname>/adfs/services/trust"不存在。
原因
此问题由以下原因之一导致:
- 如果缺少联盟域,颁发转换规则需要将颁发者从默认的 Active Directory 联合身份验证服务 (AD FS) 实例主机名更改为颁发者集。
- 添加子域后,颁发转换规则不会更新。
当多个顶级域联合到租户的同一 AD FS 实例时,会出现此问题。
解决方案
转到 "Azure AD RPT 声明规则",然后单击"下一 步"。
指定不可变 ID (sourceAnchor) -> 用户 登录 (例如 UPN 或邮件) 。 如果联合了多个顶级域,请在系统提示您响应"是否支持Azure AD AD FS 信任"时选择"是"。
连接 PowerShell Office 365,然后将域列表导出到 .csv 文件 (例如,output.csv) 。 为此,请运行以下 cmdlet:
Import-Module MSOnlineConnect-MsolServiceGet-MsolDomain | Select-Object Name, RootDomain, Authentication | ConvertTo-Csv -NoTypeInformation | % {$_.Replace('"','')} | Out-File output.csv单击 "生成声明", 然后从"声明规则" 部分复制 PowerShell cmdlet。
将 cmdlet 另存为 PowerShell 脚本 (例如,updatelclaimrules.ps1) ,然后运行以下命令在主 AD FS 服务器上运行该脚本:
.\Updateclaims.ps1该脚本将现有颁发转换规则备份为.txt工作目录中的一个安全文件。
如果要还原使用脚本备份的发布规则,请运行以下 cmdlet,并指定在步骤 5 中创建的备份文件。 在下面的示例中,备份文件是 Backup 2018.12.26_09.21.03.txt。
Set-AdfsRelyingPartyTrust -TargetIdentifier "urn:federation:MicrosoftOnline" -IssuanceTransformRulesFile "Backup 2018.12.26_09.21.03.txt"