标识同步和重复属性复原

重复属性复原是 Microsoft Entra ID 的一项功能,它将消除运行 Microsoft 的一种同步工具时 UserPrincipalName 和 SMTP ProxyAddress 冲突引起的摩擦

这两个属性必须在给定的 Microsoft Entra 租户中所有 用户Contact 对象中唯一。

注意

只有用户可以拥有 UPN。

此功能启用的新行为位于同步管道的云部分中,因此它与客户端无关,与任何Microsoft同步产品(包括 Microsoft Entra Connect、DirSync 和 MIM + Connector)相关。 本文档中使用的概括术语“同步客户端”用于表示上述任一产品。

当前行为

如果尝试预配的新对象具有违反此唯一性约束的 UPN 或 ProxyAddress 值,则 Microsoft Entra ID 会阻止创建该对象。 同样地,如果以非唯一的 UPN 或 ProxyAddress 更新对象,则更新会失败。 同步客户端在每次导出周期时重试预配尝试或更新,并在冲突解决之前继续失败。 每次尝试时都会生成错误报告电子邮件,并由同步客户端记录一个错误。

重复属性复原的行为

Microsoft Entra ID 并不是完全无法预配或更新具有重复属性的对象,而是“隔离”违反唯一性约束的重复属性。 如果预配时需要此属性(例如 UserPrincipalName),则服务将分配占位符值。 这些临时值的格式为
<OriginalPrefix>+<4DigitNumber>@<InitialTenantDomain>.onmicrosoft.com

属性复原过程仅处理 UPN 和 SMTP ProxyAddress 值。

如果属性不是必需的,如 ProxyAddress,Microsoft Entra ID 只是隔离冲突属性并继续创建或更新对象。

隔离属性后,有关冲突的信息以旧行为中使用的相同错误报告电子邮件发送。 但是,此信息只出现在错误报告中一次,当隔离发生时,它不会继续记录在将来的电子邮件中。 此外,由于此对象的导出成功,因此同步客户端不会记录错误,也不会在后续同步周期时重试创建/更新操作。

为了支持此行为,新属性将添加到“用户”、“组”和“联系人”对象类:
DirSyncProvisioningErrors

这是一个多值属性,用于存储正常添加时违反唯一性约束的冲突属性。 在 Microsoft Entra ID 中启用了一个后台计时任务,该任务每小时运行一次,以查找已解决的重复属性冲突,并自动从隔离中删除相关属性。

启用重复属性复原

重复属性复原将是所有 Microsoft Entra 租户上的新默认行为。 默认情况下,所有在2016年8月22日或之后首次启用同步的租户都已自动开启该设置。 在此日期之前已启用同步的租户分批启用了此功能。 此推出始于 2016 年 9 月,并向每个租户的技术通知联系人发送一封电子邮件通知,其中包含启用该功能的特定日期。

注意

启用“重复属性复原”功能后,该功能无法被禁用。

若要检查是否已为租户启用该功能,可下载 Azure Active Directory PowerShell 模块的最新版本并运行:

Get-EntraDirSyncFeature -Feature DuplicateUPNResiliency

Get-EntraDirSyncFeature -Feature DuplicateProxyAddressResiliency

注意

为租户启用“重复属性复原”功能之前,无法使用 Set-EntraDirSyncFeature cmdlet 主动启用该功能。 若要测试该功能,需要创建新的 Microsoft Entra 租户。

识别具有 DirSyncProvisioningErrors 的对象

目前有两种方法可以识别由于重复属性冲突而导致这些错误的对象,Microsoft Entra PowerShell 和 Microsoft 365 管理中心。 我们已计划将来扩展到其他基于门户的报告。

Microsoft Entra PowerShell

以下内容适用于本主题中的 PowerShell cmdlet:

  • 以下所有 cmdlet 都区分大小写。

首先,应运行 Connect-Entra 并输入租户管理员的凭据。

然后,使用以下 cmdlet 和运算符以不同方式查看错误:

  1. 查看全部
  2. 按属性类型
  3. 按冲突值
  4. 使用字符串搜索
  5. 已排序
  6. 以有限的数量

查看全部

连接后,若要查看租户中属性预配错误的常规列表,请运行:

Get-MsolDirSyncProvisioningError

按属性类型

若要按属性类型查看错误,请指定 UserPrincipalNameProxyAddresses

Get-EntraDirectoryObjectOnPremisesProvisioningError | Where-Object PropertyCausingError -eq 'UserPrincipalName'

Get-EntraDirectoryObjectOnPremisesProvisioningError | Where-Object PropertyCausingError -eq 'ProxyAddresses'

按冲突值

若要查看与特定属性相关的错误,请添加值:

Get-EntraDirectoryObjectOnPremisesProvisioningError | Where-Object PropertyCausingError -eq 'UserPrincipalName' | Where-Object Value -eq 'User@___domain.com'

若要执行宽泛字符串搜索,请执行以下作:

Get-EntraDirectoryObjectOnPremisesProvisioningError | Select-Object 'User@___domain.com'

数量有限

使用以下命令将查询限制为特定数量的值。

Get-EntraDirectoryObjectOnPremisesProvisioningError | Select-Object -First 10

Microsoft 365 管理中心

可以在 Microsoft 365 管理中心查看目录同步错误。 Microsoft 365 管理中心的报告只显示存在这些错误的 User 对象。 它不显示联系人之间的冲突信息。

该屏幕截图显示了 Microsoft 365 管理中心中目录同步错误。

有关如何在 Microsoft 365 管理中心查看目录同步错误的说明,请参阅识别 Microsoft 365 中的目录同步错误

标识同步错误报告

使用此新行为处理具有重复属性冲突的对象时,通知将包含在标准标识同步错误报告电子邮件中,而该电子邮件将发送给租户的技术通知联系人。 但是,此行为有一项重大变化。 在过去,有关重复属性冲突的信息包含在每个后续错误报告中,直到解决冲突为止。 使用此新行为,给定冲突的错误通知只出现一次 - 在冲突属性被隔离时。

ProxyAddress 冲突的电子邮件通知示例如下所示:
屏幕截图显示了 ProxyAddress 冲突的电子邮件通知示例。

解决冲突

这些错误的故障排除策略和解决方法策略不应与过去处理重复属性错误的方式不同。 唯一的差别在于,计时任务将扫描服务端的租户,以便在冲突解决后,自动将相关属性添加到适当的对象。

以下文章概述了各种故障排除和解决策略:重复或无效的属性阻止 Office 365 中的目录同步

已知问题

没有任何已知问题导致数据丢失或服务降级。 其中有些问题是外观问题,有些问题会导致引发标准的“复原前”重复属性错误,而不是隔离冲突属性,还有一些问题导致特定错误需要额外的手动修复。

核心行为:

  1. 具有特定属性配置的对象继续收到导出错误,而不是重复属性被隔离。
    例如:

    a. 新用户在 AD 中创建,其 UPN 为 Joe@contoso.com,ProxyAddress 为 smtp:Joe@contoso.com

    b. 此对象的属性与现有组发生冲突,其中 ProxyAddress 为 SMTP:Joe@contoso.com

    c. 导出时,将引发 ProxyAddress 冲突错误,而非隔离冲突属性。 在每个后续的同步周期中,该操作将重试,就像启用弹性功能之前一样。

  2. 如果在本地创建两个具有相同 SMTP 地址的组,则其中一个组在首次尝试预配时会失败并返回标准的重复 ProxyAddress 错误。 但是,重复值会在下一个同步周期被适当隔离。

Office 门户报告

  1. UPN 冲突集中两个对象的详细错误消息是相同的。 这意味着,它们的 UPN 都已更改/隔离,此时,实际上只有其中一个对象的数据发生更改。

  2. UPN 冲突的详细错误消息对已更改/隔离其 UPN 的用户显示不正确的 displayName。 例如:

    a. 用户 A 首先与 UPN = User@contoso.com 同步。

    b. 用户 B 将接下来尝试与UPN = User@contoso.com同步。

    c. 将用户 B 的 UPN 更改为 ,并将 User@contoso.com 添加到 DirSyncProvisioningErrors 中。

    d. 用户 B 的错误消息应指出用户 A 已经指定User@contoso.com作为 UPN,但却显示为用户 B自己的显示名称。

标识同步错误报告

关于如何解决此问题的步骤链接不正确:
活动用户

它应指向 https://aka.ms/duplicateattributeresiliency

另请参阅