Microsoft Entra Connect 的同步功能有两个组件:
- 名为 Microsoft Entra Connect 同步的本地组件,也称为同步引擎。
- 驻留在 Microsoft Entra ID 中的服务也称为 Microsoft Entra Connect Sync 服务
本主题说明 Microsoft Entra Connect 同步服务的以下功能的工作原理,以及如何使用 PowerShell 来配置这些功能。
若要使用 Graph PowerShell 查看 Microsoft Entra 目录中的配置,请使用以下命令:
Connect-MgGraph -Environment China -ClientId 'YOUR_CLIENT_ID' -TenantId 'YOUR_TENANT_ID' -Scopes "OnPremDirectorySynchronization.Read.All"
Get-MgDirectoryOnPremiseSynchronization | Select-Object -ExpandProperty Features | Format-List
结果可能类似以下输出:
BlockCloudObjectTakeoverThroughHardMatchEnabled : False
BlockSoftMatchEnabled : False
BypassDirSyncOverridesEnabled : False
CloudPasswordPolicyForPasswordSyncedUsersEnabled : False
ConcurrentCredentialUpdateEnabled : False
ConcurrentOrgIdProvisioningEnabled : False
DeviceWritebackEnabled : False
DirectoryExtensionsEnabled : True
FopeConflictResolutionEnabled : False
GroupWriteBackEnabled : False
PasswordSyncEnabled : True
PasswordWritebackEnabled : False
QuarantineUponProxyAddressesConflictEnabled : False
QuarantineUponUpnConflictEnabled : False
SoftMatchOnUpnEnabled : True
SynchronizeUpnForManagedUsersEnabled : False
UnifiedGroupWritebackEnabled : True
UserForcePasswordChangeOnLogonEnabled : False
UserWritebackEnabled : True
AdditionalProperties : {
allowOnPremUpdateOfOnPremisesObjectIdentifierEnabled : False
}
注意
从 2016 年 8 月 24 日起,将为新的 Microsoft Entra 目录默认启用重复属性复原功能。 已针对此日期之前创建的目录推出并启用此功能。 在为目录启用此功能之前的短时间内,用户会收到电子邮件通知。
Microsoft Entra Connect 中配置了以下设置:
| DirSyncFeature | 注释 |
|---|---|
| SoftMatchOnUpn | 除了允许对象加入主 SMTP 地址,还允许对象加入 userPrincipalName。 |
| 为托管用户同步用户主体名称 | 允许同步引擎更新托管/许可(非联合)用户的 userPrincipalName 属性。 |
| 设备回写 | Microsoft Entra Connect:启用设备写回 |
| 目录扩展 | Microsoft Entra Connect 同步:目录扩展 |
|
重复代理地址恢复能力 DuplicateUPNResiliency(重复UPN弹性) |
如果某些属性是另一个对象的副本而不会在导出期间导致整个对象失败,则允许隔离该属性。 |
| 密码哈希同步 | 使用 Microsoft Entra Connect Sync 实现密码哈希同步 |
| 密码写回 | 不支持。 此服务功能已停止使用。 若要配置密码写回,请参阅“在 Microsoft Entra Connect 中启用密码写回” |
| 统一组回写 | 组写回 |
| 用户回写 | 当前不支持。 |
重复属性复原
将重复的属性“隔离”并分配临时值,而不是使预配包含重复 UPNs/proxyAddresses 的对象失败。 解决冲突时,自动将临时 UPN 更改为适当的值。 有关详细信息,请参阅标识同步和重复属性复原。
UserPrincipalName 软匹配
启用此功能后,除了始终启用的主 SMTP 地址,将为 UPN 启用软匹配。 软匹配功能用于将 Microsoft Entra ID 中的现有云用户与本地用户进行匹配。
如果需要将本地 AD 帐户与云中创建的现有帐户进行匹配,但未使用 Exchange Online,则此功能非常有用。 在此情况下,通常没有必要在云中设置 SMTP 属性。
在新建的 Microsoft Entra 目录中,默认已打开此功能。 可以运行以下命令查看是否已启用此功能:
Connect-MgGraph -Environment China -ClientId 'YOUR_CLIENT_ID' -TenantId 'YOUR_TENANT_ID' -Scopes "OnPremDirectorySynchronization.Read.All"
$DirectorySync = Get-MgDirectoryOnPremiseSynchronization
$DirectorySync.Features.SoftMatchOnUpnEnabled
如果未为 Microsoft Entra 目录启用此功能,你可以运行以下命令来启用:
Connect-MgGraph -Environment China -ClientId 'YOUR_CLIENT_ID' -TenantId 'YOUR_TENANT_ID' -Scopes "OnPremDirectorySynchronization.ReadWrite.All"
$SoftMatchOnUpn = @{ SoftMatchOnUpnEnabled = "true" }
Update-MgDirectoryOnPremiseSynchronization -Features $SoftMatchOnUpn `
-OnPremisesDirectorySynchronizationId $DirectorySync.Id
BlockSoftMatch
启用此功能后,它将阻止软匹配功能。 建议客户启用此功能,并将其保持启用状态,直到租户再次需要软匹配。 在任何软匹配已完成且不再需要后,应再次启用此标志。
示例 - 阻止租户中的软匹配:
Connect-MgGraph -Environment China -ClientId 'YOUR_CLIENT_ID' -TenantId 'YOUR_TENANT_ID' -Scopes "OnPremDirectorySynchronization.ReadWrite.All"
$SoftBlock = @{ BlockSoftMatchEnabled = "true" }
Update-MgDirectoryOnPremiseSynchronization -Features $SoftBlock `
-OnPremisesDirectorySynchronizationId $DirectorySync.Id
注意
启用 BlockSoftMatch 后,加入混合域的新设备在尝试软匹配期间会遇到 InvalidSoftMatch 错误。 当从本地 Active Directory (AD) 同步到 Entra 的计算机对象与在云中注册的新设备合并时,会出现这种情况。 若要解决此问题,管理员应暂时禁用 BlockSoftMatch,以允许混合加入继续。
允许在强制执行硬匹配期间更新 onPremisesObjectIdentifier
由于强制实施硬匹配安全,当目标云用户onPremisesObjectIdentifier的值不同于本地对象的传入值时,Microsoft Entra ID会阻止硬匹配。 若要修正此问题,请清除现有云用户 onPremisesObjectIdentifier 的值,然后重试硬匹配。
如果无法进行修正,请暂时启用租户级功能标志 allowOnPremUpdateOfOnPremisesObjectIdentifierEnabled 以允许更新。 该标志默认处于禁用状态,应仅在迁移、恢复或合并方案中用作临时绕过。 修正完成后禁用标志。
有关启用步骤以及何时使用此绕过方法的指导,请参阅 暂时允许 onPremisesObjectIdentifier 更新。
同步 userPrincipalName 更新
在过去,除非以下两个条件都成立,否则会阻止在本地使用同步服务对 UserPrincipalName 属性进行更新:
- 用户托管(未联合)。
- 用户没有分配到许可证。
注意
从 2019 年 3 月起,允许同步联合用户帐户的 UPN 更改。
如果 userPrincipalName 在本地发生更改并且你使用密码哈希同步,则启用此功能后,同步引擎可将其更新。
在新建的 Microsoft Entra 目录中,默认已打开此功能。 可以运行以下命令查看是否已启用此功能:
Connect-MgGraph -Environment China -ClientId 'YOUR_CLIENT_ID' -TenantId 'YOUR_TENANT_ID' -Scopes "OnPremDirectorySynchronization.Read.All"
$DirectorySync = Get-MgDirectoryOnPremiseSynchronization
$DirectorySync.Features.SynchronizeUpnForManagedUsersEnabled
如果未为 Microsoft Entra 目录启用此功能,你可以运行以下命令来启用:
Connect-MgGraph -Environment China -ClientId 'YOUR_CLIENT_ID' -TenantId 'YOUR_TENANT_ID' -Scopes "OnPremDirectorySynchronization.ReadWrite.All"
$SyncUpnManagedUsers = @{ SynchronizeUpnForManagedUsersEnabled = "true" }
Update-MgDirectoryOnPremiseSynchronization -Features $SyncUpnManagedUsers `
-OnPremisesDirectorySynchronizationId $DirectorySync.Id
启用此功能后,现有的 userPrincipalName 值保持不变。 下一次在本地更改 userPrincipalName 属性时,对用户进行正常的增量同步会更新 UPN。 启用此功能后,将无法禁用此功能。
密码哈希同步
此功能允许同步引擎使用密码哈希同步,并且由同步客户端自动启用。
可以运行以下命令查看是否已启用此功能:
# Connect to Microsoft Graph
Connect-MgGraph -Environment China -ClientId 'YOUR_CLIENT_ID' -TenantId 'YOUR_TENANT_ID' -Scopes "OnPremDirectorySynchronization.Read.All"
# Retrieve DirSync service features
$DirectorySync = Get-MgDirectoryOnPremiseSynchronization
$DirectorySync.Features.PasswordSyncEnabled
如果不再需要密码哈希同步,例如,从本地 Active Directory 解除同步后,可以使用以下命令禁用它:
# Connect to Microsoft Graph
Connect-MgGraph -Environment China -ClientId 'YOUR_CLIENT_ID' -TenantId 'YOUR_TENANT_ID' -Scopes "OnPremDirectorySynchronization.ReadWrite.All"
# Disable Password Hash Sync
$DirectorySync = Get-MgDirectoryOnPremiseSynchronization
$DirectorySync.Features.PasswordSyncEnabled = $false
Update-MgDirectoryOnPremiseSynchronization -Features $DirectorySync.Features -OnPremisesDirectorySynchronizationId $DirectorySync.Id
密码写回
此属性指示是否启用从 Microsoft Entra ID 到本地 Active Directory 的密码写回。
重要
此属性不再使用,不支持更新此属性。