aa123456.site 域验证误删除域控制器(DC)、ADFS、WAP 服务器后,重新部署全套环境,登录出现异常。
访问 https://outlook.office.com/,使用 user01@aa123456.site 登录时:
Outlook 跳转至 Microsoft 365 认证页
重定向到 ADFS 联邦登录页
ADFS 账号密码验证成功
跳转回 Microsoft 365 时抛出错误:
AADSTS51004: The user account
R725SnUt5kOLZ6Eye3W0GQ==does not exist in the directory.

确认 user01@aa123456.site 在 Microsoft Entra ID 中正常存在。
Exchange Online 中该账号邮箱完整存在,数据未丢失。
执行 PowerShell 命令查询:
Get-MgUser -UserId user01@aa123456.site -Property OnPremisesImmutableId,OnPremisesSyncEnabled
返回结果:
OnPremisesSyncEnabled : TrueOnPremisesImmutableId : hukNzIp+WkihuQKJFPxKYg==结论:账号仍标记为本地同步用户。
执行命令:
Get-MgDomain
返回 AuthenticationType : Federated,说明登录必须经过 ADFS 联邦认证。
在本地域控制器执行:
$guid = (Get-ADUser user01 -Properties ObjectGUID).ObjectGUID [System.Convert]::ToBase64String($guid.ToByteArray())
输出结果:R725SnUt5kOLZ6Eye3W0GQ==
hukNzIp+WkihuQKJFPxKYg==R725SnUt5kOLZ6Eye3W0GQ==两者不一致。
执行命令查看 Office 365 信赖方信任规则:
Get-AdfsRelyingPartyTrust -Name "Microsoft Office 365 Identity Platform Worldwide" | Format-List *
关键规则逻辑:
优先颁发
mS-DS-ConsistencyGuid作为 Immutable ID;若该属性不存在,则颁发 ObjectGUID 作为 Immutable ID。
原环境中 user01 同步到 Azure 时,生成的 ImmutableID 为 hukNzIp+WkihuQKJFPxKYg==,并保存在云端。 删除 DC 重建后,本地重新创建的 user01 生成了全新的 ObjectGUID,ADFS 登录时发出的身份标识变为 R725SnUt5kOLZ6Eye3W0GQ==。
云端 Entra ID 仍以旧的 ImmutableID 匹配用户,导致无法识别账号,抛出 AADSTS51004 错误。
核心:邮箱和账号本身都正常,问题是 ADFS 签发的 ImmutableID 与云端保存的不匹配。
$bytes = [System.Convert]::FromBase64String("hukNzIp+WkihuQKJFPxKYg==") New-Object Guid (,$bytes)
输出结果:ca8d89e1-7e8a-48a9-a1b9-028914fc4a62
将上述 GUID 写入本地用户的 mS-DS-ConsistencyGuid 属性,让 ADFS 优先使用该值签发:
$guid = [guid]"ca8d89e1-7e8a-48a9-a1b9-028914fc4a62" Set-ADUser user01 -Replace @{ 'mS-DS-ConsistencyGuid' = $guid.ToByteArray() }
Start-ADSyncSyncCycle -PolicyType Initial
重新访问 https://outlook.office.com/,使用 user01@aa123456.site 登录,流程正常,登录成功,邮箱数据完整保留。
Get-MgUser -UserId user01@aa123456.site -Property OnPremisesImmutableId,OnPremisesSyncEnabled,OnPremisesDistinguishedName
Get-MgDomainFederationConfiguration -DomainId aa123456.site
Get-MgDomain
$guid = (Get-ADUser user01 -Properties ObjectGUID).ObjectGUID [System.Convert]::ToBase64String($guid.ToByteArray())
Get-AdfsRelyingPartyTrust -Name "Microsoft Office 365 Identity Platform Worldwide" | Format-List *
$bytes = [System.Convert]::FromBase64String("hukNzIp+WkihuQKJFPxKYg==") New-Object Guid (,$bytes)
$guid = [guid]"ca8d89e1-7e8a-48a9-a1b9-028914fc4a62" Set-ADUser user01 -Replace @{ 'mS-DS-ConsistencyGuid' = $guid.ToByteArray() }
# 完全同步 Start-ADSyncSyncCycle -PolicyType Initial # 增量同步 Start-ADSyncSyncCycle -PolicyType Delta
删除/重建 DC 前,必须记录所有同步用户的以下关键属性:
遇到该报错时按顺序检查:
OnPremisesImmutableId 值mS-DS-ConsistencyGuid 属性mS-DS-ConsistencyGuid 与云端 ImmutableID,即可恢复登录与同步,且不丢失任何邮箱数据本文作者:Ariesnices
本文链接:
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!