排查域控制器复制错误 1727 - 远程过程调用失败且未执行

本文解决了错误消息“远程过程调用失败且未执行”。 在 Windows Server 上复制域控制器 (DC) 期间发生此错误。

适用于: Windows Server (所有受支持的版本)
原始 KB 编号: 4019721

症状

此 Active Directory (AD) 复制错误以以下一种或多种形式出现:

  • 小数:1727
  • 十六进制:0x6bf
  • 符号:RPC_S_CALL_FAILED_DNE
  • 错误消息:远程过程调用失败,未执行。

原因

出现此问题的原因是以下原因之一:

  • 两个域控制器 (DC) 之间的网络连接问题。 有关详细信息,请参阅以下各节。
  • 复制伙伴上负载引发的性能问题。 此问题不太常见,并且通常是暂时性的。 有关详细信息,请参阅以下各节。

关于网络连接问题

当 DC 的复制伙伴无法完成与 AD 复制的 RPC 服务 (DRSR UUID E3514235-4B06-11D1-AB04-00C04FC2DCD2) 的 RPC 连接时,会出现此问题。 更具体地说,复制伙伴可以绑定到 RPC 终结点映射程序,但无法完成 DRSR RPC 绑定。

可能的根本原因包括:

  • 防火墙
  • 路由器
  • WAN 优化器
  • 其他中间网络设备
  • 网络筛选器驱动程序

关于性能问题

如果满足以下条件之一,则会出现此问题:

  • 服务器积压不响应 TCP ACK 或响应消息。 因此,发送方放弃 TCP 会话。
  • 网络速度太慢或不可靠。 它无法传递 TCP ACK 或响应消息。

解决方案

若要解决此问题,请确定影响两个 DC 之间的网络的最新更改,并尽可能撤消这些更改。 如果没有最近的更改,则必须充分检查两个 DC 之间的 RPC 网络连接。 为此,请遵循高级故障排除步骤或详细的故障排除步骤。

高级故障排除步骤

  1. 重现问题时进行双面网络捕获。 为此,请执行以下步骤:

    1. 在两个 DC 上启动网络捕获。
    2. 手动启动两个 DC 之间的复制。
    3. 收到错误时,停止跟踪的两端。
  2. 检查两个 DC 之间的 RPC 对话。 确定是否存在从请求方 DC 发送的消息不引起复制伙伴的响应的情况。

注意

有时,会有部分响应,其中包括请求消息的回转 TCP ACK。 但流量已修改,或者响应实际上未到达请求方 DC。 因此,TCP 堆栈不会收到 ACK。

详细的故障排除步骤

在执行以下步骤测试 DC 连接之前,在两个 DC 上启动网络捕获。

测试来自目标 DC 的源 DC 连接

在目标 DC 上执行以下步骤:

  1. 验证源 DC 是否正在侦听 TCP 端口 135。 为此,请运行 PortQry.exe -n -e 135 命令。

    如果端口状态为 FILTERED,则 AD 复制失败可能会失败,并改为返回错误 1722。 尝试解决错误 1722,然后检查 AD 复制是否成功。 如果问题仍然存在,请重启详细的故障排除步骤。

    如果状态不是 FILTERED,则命令将返回 RPC 终结点映射器数据库。 搜索 MS NT 目录 DRS 接口,以查找源 DC 正在侦听 AD 复制的终结点映射器数据库中的上范围端口。 你可能会获得一个或多个条目。 记下ncacn_ip_tcp的端口。

    例如,你得到类似于以下示例的内容,其中显示了两个上限端口 49159 和 49160:

    UUID:e3514235-4b06-11d1-ab04-00c04fc2dcd2 MS NT Directory DRS 接口 ncacn_ip_tcp:2012dc[49159] UUID:e3514235-4b06-11d1-ab04-00c04fc2dcd2 MS NT Directory DRS 接口 ncacn_ip_tcp:2012dc[49160]

    注意

    高范围端口特定于 DC,并且是动态分配的。 但是,管理员可以使用以下注册表值对用于 AD 复制的端口进行硬编码。

    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\NTDS\Parameters
    注册表值:TCP/IP 端口
    值类型:REG_DWORD
    值数据: (可用端口)

  2. 测试与你记下的高范围端口的 TCP 端口连接。 为此,请运行以下命令:

    PortQry.exe -n <SourceDC> -e <Upper_Range_Port_Number>
    

    例如,运行以下命令:

    PortQry.exe -n 2012dc -e 49159
    PortQry.exe -n 2012dc -e 49160
    

    如果端口状态为 FILTERED,请查看已捕获的网络跟踪,以确定数据包被阻止的位置。

  3. 测试 DNS。 验证目标 DC 是否可以解析源 DC 的 CNAME 和 HOST 记录。 并验证解析的 IP 地址是否为源 DC 的实际 IP 地址。 如果 DNS 指向旧 IP 地址或无效 IP 地址,则会尝试对错误的源 DC 进行 RPC 连接。

测试来自源 DC 的目标 DC 连接

在源 DC 上重复步骤 1 到 3。

数据收集

如果需要 Microsoft 支持方面的帮助,建议按照 使用 TSS 收集 Active Directory 复制问题的信息中所述的步骤收集信息。