云同步故障排除

云同步具有许多不同的依赖项和交互,这可能会导致各种问题。 本文将帮助用户解决这些问题。 它介绍了需要重点关注的典型领域、如何收集其他信息,以及可以用来跟踪问题的各种技术。

代理问题

对代理问题进行故障排除时,请验证代理是否已正确安装且与 Microsoft Entra ID 通信。 尤其,要对代理验证的首要事项是:

  • 是否安装了?
  • 代理是否在本地运行?
  • 代理是否在门户中?
  • 代理是否标记为正常?

可以在门户中以及运行该代理的本地服务器上验证这些项。

Microsoft Entra 管理中心代理验证

提示

本文中的步骤可能因开始使用的门户而略有不同。

若要验证 Azure 是否检测到代理,以及代理是否正常运行,请执行以下步骤:

  1. 至少以混合管理员的身份登录到 Microsoft Entra 管理中心
  2. 浏览到“标识”>“混合管理”>“Microsoft Entra Connet”>“云同步”云同步主页的屏幕截图。
  1. 选择“云同步”。
  2. 应会看到已安装的代理。 验证相关代理是否存在。 如果一切正常,你将看到该代理为活动(绿色)状态。

验证所需的开放端口

验证 Microsoft Entra 预配代理是否能够成功地与 Azure 数据中心通信。 如果路径中有防火墙,请确保已打开以下出站流量端口:

端口号 用途
80 验证 TLS/SSL 证书的同时下载证书吊销列表 (CRL)
443 处理所有与应用程序代理服务进行的出站通信。

如果防火墙根据发起方用户实施流量控制,另请为来自作为网络服务运行的 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 记录是链接的指向 A 记录的 CNAME 记录。 这可确保容错和灵活性。 可以保证 Microsoft Entra 专用网络连接器始终访问带有域后缀 *.msappproxy.net*.servicebus.windows.net 的主机名。

但是,在名称解析过程中,CNAME 记录可能包含具有不同主机名和后缀的 DNS 记录。 因此,必须确保设备可解析链中的所有记录并允许连接到已解析的 IP 地址。 由于链中的 DNS 记录有时可能会更改,因此我们无法提供 DNS 记录的任何列表。

在本地服务器上

若要验证代理是否正在运行,请执行以下步骤:

  1. 在已安装代理的服务器上,打开“服务”。 要执行此操作,请转到“开始”>“运行”> “services.msc”。

  2. 在“服务”下,确保“Microsoft Entra Connect 代理更新程序”和“Microsoft Entra Connect 预配代理”存在。 同时确认其状态为正在运行

    本地服务及其状态的屏幕截图。

常见代理安装问题

以下部分介绍了一些常见代理安装问题和典型解决方案。

代理无法启动

你可能会收到以下错误消息:

服务“Microsoft Entra 预配代理”无法启动。 请确保有足够的权限启动系统服务。

此问题通常由组策略引起。 该策略阻止将权限应用于安装程序(NT SERVICE\AADConnectProvisioningAgent)创建的本地 NT 服务登录帐户。 这些权限是启动服务所必需的。

若要解决该问题,请执行以下步骤:

  1. 使用管理员帐户登录到服务器。

  2. 若要打开“服务”,请转到“开始”>“运行”> “services.msc”。

  3. 在“服务”下,双击“Microsoft Entra 预配代理”。

  4. 在“登录”选项卡上,将此帐户更改为域管理员。然后重启服务。

    显示“登录”选项卡中可用选项的屏幕截图。

代理超时或证书无效

尝试注册代理时,可能会收到以下错误消息。

显示超时错误消息的屏幕截图。

此问题通常是由于代理无法连接到混合标识服务而导致的。 若要解决此问题,请配置出站代理。

预配代理支持使用出站代理。 可通过编辑代理配置文件“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 执行策略。 需要将“计算机和用户策略”设置为 UndefinedRemoteSigned。 如果设置为 Unrestricted,则会看到此错误。 有关详细信息,请参阅 PowerShell 执行策略

日志文件

默认情况下,代理发出最少的错误消息和堆栈跟踪信息。 可以在 C:\ProgramData\Microsoft\Azure AD Connect Provisioning Agent\Trace 文件夹中找到这些跟踪日志。

若要收集用于排查代理相关问题的其他详细信息,请执行以下步骤。

  1. 安装 AADCloudSyncTools PowerShell 模块
  2. 使用 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 命令。

  1. 安装 AADCloudSyncTools PowerShell 模块

  2. 从具有管理权限的 PowerShell 会话中,键入或复制并粘贴以下内容:

    Connect-AADCloudSyncTools
    
  3. 输入 Microsoft Entra 全局管理员凭据。

  4. 键入或复制并粘贴以下内容:

    Repair-AADCloudSyncToolsAccount
    
  5. 完成此操作后,应显示该帐户已成功修复。

密码写回

若要在云同步中启用和使用密码写回,请记住以下事项:

  • 如果需要更新 gMSA 权限,将这些权限复制到目录中的所有对象可能需要一小时或更长时间才能完成。 如果不分配这些权限,写回功能可能看似已正确配置,但用户在从云升级其本地密码时可能会遇到错误。 必须对“此对象和所有后代对象”应用权限,才会显示“使密码不过期”。
  • 如果某些用户帐户的密码未写回到本地目录,请确保未在本地 AD DS 环境中对帐户禁用继承。 必须将密码的写入权限应用于后代对象,才能使该功能正常工作。
  • 本地 AD DS 环境中的密码策略可能会导致无法正确处理密码重置。 如果正在测试此功能并且希望每天多次为用户重置密码,则必须将最短密码期限的组策略设置为 0。 可以在以下位置找到此设置:“gpmc.msc”中的“计算机配置”>“策略”>“Windows 设置”>“安全设置”>“帐户策略”。
    • 如果更新组策略,请等待更新的策略复制完成,或使用 gpupdate /force 命令。
    • 要使密码立即更改,必须将最短密码期限设置为 0。 但是,如果用户遵守本地策略,并且将“最短密码期限”设置为大于零的值,则在评估本地策略后,密码写回将无效。

后续步骤