Microsoft Entra Connect Sync 服务影子属性

大多数属性在 Microsoft Entra ID 中的表示方式与在本地 Active Directory 中相同。 但某些属性有一些特殊处理,并且 Microsoft Entra ID 中的属性值可能不同于 Microsoft Entra Connect 同步的值。

引入了影子属性

某些属性在 Microsoft Entra ID 中有两种表示形式。 将存储本地值和计算值。 这些额外的属性称为影子属性。 表示此行为的两个最常用属性是 userPrincipalNameproxyAddress。 Microsoft Entra Connect 中的同步引擎和云同步会将该值导出到阴影属性,然后 Microsoft Entra ID 会处理此属性以计算最终值。 该同步引擎还会从阴影属性导入值,因此即使最终计算的值不同,从同步引擎的角度来看,它也能够确认导出的原始值。 无法使用 Microsoft Entra 管理中心或 PowerShell 查看阴影属性,但理解此概念有助于排查某些情况下的问题,即属性在本地和云中具有不同的值。

若要更好地了解此行为,请查看 Fabrikam 中的此示例:
屏幕截图显示了几个示例的 Active Directory UPN 后缀,相应的“Microsoft Entra 域”值分别为“未添加”、“未验证”和“已验证”。
它们在本地 Active Directory 中具有多个 UserPrincipalName (UPN) 后缀,但在 Microsoft Entra ID 中只验证了一个。

userPrincipalName

用户在未验证的域中具有以下属性值:

属性
本地 userPrincipalName lee.sperry@fabrikam.com
Microsoft Entra shadowUserPrincipalName lee.sperry@fabrikam.com
Microsoft Entra userPrincipalName lee.sperry@fabrikam.onmicrosoft.com

userPrincipalName 属性是在使用 PowerShell 时显示的值。

由于实际本地属性值存储在 Microsoft Entra ID 中,因此验证 fabrikam.com 域时,Microsoft Entra ID 使用 shadowUserPrincipalName 的值更新 userPrincipalName 属性。 无须同步 Microsoft Entra Connect 或云同步的任何更改即可更新这些值。

proxyAddresses

用于仅包括已验证域的相同过程也会对 proxyAddresses 执行,但会使用某个额外的逻辑。 仅对邮箱用户进行已验证域检查。 已启用邮件的用户或联系人表示另一个 Exchange 组织中的用户,只能将 proxyAddresses 中的任何值添加到这些对象。

对于邮箱用户(无论是在本地还是在 Exchange Online 中),将仅显示已验证域的值。 它可能如下所示:

Attribute
本地 proxyAddresses SMTP:abbie.spencer@fabrikamonline.com
smtp:abbie.spencer@fabrikam.com
smtp:abbie@fabrikamonline.com
Exchange Online proxyAddresses SMTP:abbie.spencer@fabrikamonline.com
smtp:abbie@fabrikamonline.com
SIP:abbie.spencer@fabrikamonline.com

在本示例中,删除了 smtp:abbie.spencer@fabrikam.com,因为该域尚未验证。 但 Exchange 还添加了 SIP:abbie.spencer@fabrikamonline.com。 Fabrikam 可能没有使用本地 Lync/Skype for Business,但 Microsoft Entra ID 和 Exchange Online 准备使用它。

proxyAddresses 的此逻辑称为 ProxyCalc。 在以下情况下,每次更改用户时,将调用 ProxyCalc:

  • 为用户分配了包含 Exchange Online 的服务计划,即使未授权该用户使用 Exchange 邮箱,也是如此。 例如,如果为用户分配了 Office E3 SKU,但仅选择 SharePoint Online 服务。 即使用户邮箱仍在本地,也是如此。
  • 属性 msExchRecipientTypeDetails 具有值。
  • 更改 proxyAddresses 或 userPrincipalName。

如果 ShadowProxyAddresses 包含未验证的域,并且用户配置了以下属性之一,则 ProxyCalc 进程将清理某个地址。

  • 已在启用了 EXO 服务类型计划的情况下为用户授权(不包括 MyAnalytics)
  • 为用户设置了 MSExchRemoteRecipientType(非 null)
  • 用户被视为共享资源

当用户的 CloudMSExchRecipientDisplayType 属性具有以下值之一时,该用户被视为共享资源:

对象显示类型 值(十进制)
MailboxUser 0
PublicFolder 2
ConferenceRoomMailbox 7
EquipmentMailbox 8
ArbitrationMailbox 10
RoomList 15
TeamMailboxUser 16
GroupMailbox 17
SchedulingMailbox 18
ACLableMailboxUser 1073741824
ACLableTeamMailboxUser 1073741840

注意

在 Microsoft Entra ID 端无法看到 CloudMSExchRecipientDisplayType,只能使用 Exchange Online cmdlet Get-Recipient 来查看它。

示例:

  Get-Recipient admin | fl *type*

ProxyCalc 可能需要一些时间来处理用户更改,并且不会与 Microsoft Entra Connect 导出过程同步。

注意

对于本主题中未介绍的高级方案,ProxyCalc 逻辑具有一些其他行为。 本主题供你了解行为并未记录所有内部逻辑。

隔离的属性值

有重复的属性值时,也使用影子属性。 有关详细信息,请参阅重复属性复原

另请参阅