云同步具有许多不同的依赖项和交互,这可能导致各种问题。 本文将帮助用户解决这些问题。 它介绍了要关注的典型领域、如何收集其他信息以及可用于跟踪问题的各种技术。
代理问题
排查代理问题时,请验证代理是否已正确安装,并且它是否与 Microsoft Entra ID 通信。 具体而言,需要对代理验证的首要事项包括:
- 是否已安装?
- 代理是否在本地运行?
- 代理是否在门户中?
- 代理是否标记为正常?
可以在门户和运行代理的本地服务器上验证这些项目。
Microsoft Entra 管理中心代理验证
若要验证 Azure 是否检测到代理,以及代理是否正常运行,请执行以下步骤:
以至少混合标识管理员身份登录到 Microsoft Entra 管理中心。
浏览到 Entra ID>Entra Connect>云同步。
- 选择“云同步”。
- 你应会看到已安装的代理。 验证所涉及的代理是否存在。 如果一切正常,你将看到代理的活动(绿色)状态。
验证所需开放的端口
验证 Microsoft Entra 预配代理是否能够与 Azure 数据中心成功通信。 如果路径中有防火墙,请确保打开出站流量的以下端口:
端口号 | 如何使用 |
---|---|
80 | 下载证书吊销列表(CRL),同时验证 TLS/SSL 证书。 |
443 | 处理与应用程序代理服务(Application Proxy Service)的所有出站通信。 |
如果防火墙根据发起方用户实施流量控制,另请为来自作为网络服务运行的 Windows 服务的流量打开端口 80 和 443。
允许访问 URL
允许访问以下 URL:
网址 | 港口 | 如何使用 |
---|---|---|
*.msappproxy.net *.servicebus.windows.net |
443/HTTPS | 连接器与应用程序代理云服务之间的通信。 |
crl3.digicert.com crl4.digicert.com ocsp.digicert.com crl.microsoft.com oneocsp.microsoft.com ocsp.msocsp.com |
80/HTTP | 连接器使用这些 URL 来验证证书。 |
login.windows.net secure.aadcdn.microsoftonline-p.com *.microsoftonline.com *.microsoftonline-p.com *.msauth.net *.msauthimages.net *.msecnd.net *.msftauth.net *.msftauthimages.net *.phonefactor.net enterpriseregistration.windows.net management.azure.com policykeyservice.dc.ad.msft.net ctldl.windowsupdate.com www.microsoft.com/pkiops |
443/HTTPS | 连接器在注册过程中使用这些 URL。 |
ctldl.windowsupdate.com |
80/HTTP | 连接器在注册过程中使用此 URL。 |
如果防火墙或代理允许基于域后缀配置访问规则,则可以允许连接到 *.msappproxy.net
、*.servicebus.windows.net
和其他 URL。 否则,需要允许访问 Azure IP 范围和服务标记 - 公有云。 IP 范围每周更新。
重要
避免对 Microsoft Entra 专用网络连接器和 Microsoft Entra 应用程序代理云服务之间的出站 TLS 通信进行所有形式的内联检查和终止。
Microsoft Entra 应用程序代理端点的 DNS 名称解析
Microsoft Entra 应用程序代理终结点的公共 DNS 记录是链式 CNAME 记录,指向一个 A 记录。 这可确保容错和灵活性。 可以保证,Microsoft Entra 专用网络连接器始终使用域后缀 *.msappproxy.net
或 *.servicebus.windows.net
访问主机名。
但是,在名称解析期间,CNAME 记录可能包含具有不同主机名和后缀的 DNS 记录。 因此,必须确保设备可以解析链中的所有记录,并允许连接到解析的 IP 地址。 由于链中的 DNS 记录可能会不时更改,因此我们无法向你提供任何列表 DNS 记录。
在本地服务器上
若要验证代理是否正在运行,请执行以下步骤:
在安装了代理的服务器上,打开 “服务”。 要执行此操作,请转到“开始”“运行”>“services.msc”。>
在“服务”下,确保存在“Microsoft Entra Connect 代理更新程序”和“Microsoft Entra Connect 预配代理”。 同时确认其状态为“正在运行”。
常见的代理安装问题
以下部分介绍了一些常见的代理安装问题,以及这些问题的典型解决方法。
代理未能启动
可能会收到一条错误消息,指出:
服务“Microsoft Entra Provisioning Agent”无法启动。 验证是否有足够的权限来启动系统服务。
此问题通常是由组策略引起的。 该策略阻止了将权限应用于安装程序创建的本地 NT 服务登录帐户(NT SERVICE\AADConnectProvisioningAgent
)。 启动服务需要这些权限。
若要解决此问题,请执行以下步骤:
使用管理员帐户登录到服务器。
若要打开“服务”,请转到“开始”“运行”“services.msc”。>>
在 “服务”下,双击 Microsoft Entra Provisioning Agent。
在 “登录 ”选项卡上, 将此帐户 更改为域管理员。然后重启服务。
代理超时或证书无效
尝试注册代理时,可能会收到以下错误消息。
此问题通常是代理无法连接到混合标识服务导致的。 若要解决此问题,请配置出站代理。
预配代理支持使用出站代理。 可以通过编辑以下代理 .config 文件对其进行配置: C:\Program Files\Microsoft Azure AD Connect Provisioning Agent\AADConnectProvisioningAgent.exe.config。
在文件的末尾附近,紧靠在 </configuration>
右标记的前面添加以下行。 将变量 [proxy-server]
和 [proxy-port]
替换为代理服务器名称和端口值。
<system.net>
<defaultProxy enabled="true" useDefaultCredentials="true">
<proxy
usesystemdefault="true"
proxyaddress="http://[proxy-server]:[proxy-port]"
bypassonlocal="true"
/>
</defaultProxy>
</system.net>
代理注册失败,出现安全错误
安装云预配代理时可能会收到错误消息。 此问题通常是由于本地 PowerShell 执行策略导致代理无法运行 PowerShell 注册脚本。
若要解决此问题,请更改服务器上的 PowerShell 执行策略。 需要将计算机和用户策略设置为 Undefined
或 RemoteSigned
。 如果它们设置为 Unrestricted
,则会看到此错误。 有关详细信息,请参阅 PowerShell 执行策略。
日志文件
默认情况下,代理会发出最少的错误消息和堆栈跟踪信息。 可以在以下文件夹中找到这些跟踪日志: C:\ProgramData\Microsoft\Azure AD Connect 预配代理\Trace。
若要收集有关排查代理相关问题的其他详细信息,请执行以下步骤。
- 安装 AADCloudSyncTools PowerShell 模块。
- 使用
Export-AADCloudSyncToolsLogs
PowerShell cmdlet 捕获信息。 可以使用以下选项微调数据收集。SkipVerboseTrace
仅导出当前日志,而不捕获详细日志(默认值为 false)。TracingDurationMins
指定不同的捕获持续时间(默认值 = 3 分钟)。OutputPath
指定其他输出路径(默认 = 用户的 Documents 文件夹)。
对象同步问题
在门户中,可以使用预配日志来帮助跟踪和排查对象同步问题。 若要查看日志,请选择“ 日志”。
预配日志提供有关在本地 Active Directory 环境和 Azure 之间同步的对象状态的大量信息。
可以筛选视图以专注于特定问题,例如日期。 还可以使用 Active Directory ObjectGuid
搜索活动日志,以查找与 Active Directory 对象相关的活动。 双击单个事件以查看其他信息。
此信息提供详细的步骤以及同步问题发生的位置。 通过这种方式,可以查明问题的确切位置。
跳过的对象
如果一直在从 Active Directory 同步用户和组,则可能无法在 Microsoft Entra ID 中找到一个或多个组。 这可能是由于同步尚未完成,或尚未赶上 Active Directory 中对象的创建,或是产生了阻止在 Microsoft Entra ID 中创建对象的同步错误,也可能是应用了排除该对象的同步范围规则。
如果重启同步,则请在预配周期完成时使用某个对象的 Active Directory ObjectGuid
在预配日志中搜索与该对象相关的活动。 如果日志中出现仅包含源 ID 和状态 Skipped
的标识事件,这可能表明代理过滤了 Active Directory 对象,因为该对象超出了适用范围。
默认情况下,范围规则将排除以下对象与 Microsoft Entra ID 同步:
IsCriticalSystemObject
设置为 TRUE 的用户、组和联系人,包括 Active Directory 中的许多内置用户和组- 复制牺牲品对象
同步架构中可能存在其他限制。
Microsoft Entra 对象删除阈值
如果您拥有一个具备 Microsoft Entra Connect 和 Microsoft Entra Cloud Sync 的实现拓扑,且两者均导出到同一 Microsoft Entra 租户,或者如果您完全从使用 Microsoft Entra Connect 转为 Microsoft Entra Cloud Sync,那么在删除或移动多个对象超出定义范围时,您可能会收到以下导出错误消息:
此错误与 Microsoft Entra Connect 云同步的 意外删除防护功能 无关。它由从 Microsoft Entra Connect 的 Microsoft Entra 目录中设置 的意外删除防护功能 触发。 如果没有安装 Microsoft Entra Connect 服务器来切换该功能,可以使用随 Microsoft Entra Connect 云同步代理一起安装的 “AADCloudSyncTools” PowerShell 模块在租户上禁用该设置。在确认删除操作是预期的且应被允许后,允许这些被阻止的删除进行导出。 使用以下命令:
Disable-AADCloudSyncToolsDirSyncAccidentalDeletionPrevention -tenantId "aaaabbbb-0000-cccc-1111-dddd2222eeee"
在下一个预配周期中,应从 Microsoft Entra 目录中成功删除标记为删除的对象。
预配隔离问题
云同步监视配置的运行状况,并将不正常的对象置于隔离状态。 如果由于错误(例如,管理员凭据无效),针对目标系统进行的大多数或全部调用都会失败,同步作业将标记为隔离区中。
通过选择状态,可以查看有关隔离区的其他信息。 还可以获取错误代码和消息。
在状态上右键单击将显示其他选项:
- 查看预配日志。
- 查看代理。
- 清除隔离区。
解决隔离问题
可通过两种不同的方法来解除隔离。 可以清除隔离区,也可以重启预配作业。
清除隔离区
若要清除水印并在验证后对预配作业运行增量同步,只需右键单击状态,然后选择“清除隔离”。
应会看到一个通知,指出隔离区正在清除。
然后,应会看到代理上的状态为“正常”。
重启预配作业
使用门户重启预配作业。 在代理配置页上,选择“ 重启同步”。
或者,可以使用 Microsoft Graph 重启预配作业。 你可以完全控制需要重启的内容。 你可以选择清除:
- 托管,用于重启增加为隔离状态的托管计数器。
- 隔离,用于从隔离区中删除应用程序。
- 水印。
使用以下请求:
POST /servicePrincipals/{id}/synchronization/jobs/{jobId}/restart
修复云同步服务帐户
如果需要修复云同步服务帐户,可以使用 Repair-AADCloudSyncToolsAccount
命令。
在具有管理权限的 PowerShell 会话中,键入或复制粘贴以下命令:
Connect-AADCloudSyncTools
输入 Microsoft Entra 全局管理员凭据。
键入或复制并粘贴以下内容:
Repair-AADCloudSyncToolsAccount
完成后,应该说帐户已成功修复。
密码回写
若要启用和使用云同步的密码写回,请记住以下几点:
- 如果需要更新 gMSA 的权限 ,这些权限可能需要一个小时或更长时间才能复制到目录中的所有对象上。 如果未分配这些权限,写回功能似乎已正确配置,但用户从云端更新本地帐户密码时可能会遇到错误。 必须对“此对象和所有后代对象”应用权限,才会显示“使密码不过期”。
- 如果某些用户帐户的密码没有被写回到本地目录,请确保本地 Active Directory 域服务 (AD DS) 环境中的帐户没有被禁用继承。 密码的写入权限必须应用于子代对象,才能使该功能正常工作。
- 本地 AD DS 环境中的密码策略可能会阻止正确处理密码重置。 如果要测试此功能并想要每天多次重置用户的密码,则最低密码期限的组策略必须设置为 0。 可以在以下位置找到此设置:gpmc.msc 中的>>>>帐户策略。
- 如果更新组策略,请等待更新的策略进行复制,或使用
gpupdate /force
命令。 - 若要立即更改密码,必须将最短密码期限设置为 0。 但是,如果用户遵守本地策略,并且最低密码期限设置为大于 0 的值,则评估本地策略后,密码写回不起作用。
- 如果更新组策略,请等待更新的策略进行复制,或使用