Active Directory 复制错误 1753:终结点映射程序不再提供终结点

本文介绍了 Active Directory 复制失败并出现 Win32 错误 1753 的问题:“终结点映射器中没有更多的终结点可用。”

适用于: Windows Server 2012 R2
原始 KB 编号: 2089874

家庭用户: 本文仅适用于技术支持代理和 IT 专业人员。 如果正在寻求解决问题的帮助, 请向 Microsoft 社区咨询

症状

本文介绍失败并出现 Win32 错误 1753 的 AD 操作的症状、原因和解决步骤:“终结点映射器中没有更多的终结点可用。”

  1. DCDIAG 报告连接测试、Active Directory 复制测试或 KnowsOfRoleHolders 测试失败并出现错误 1753:“终结点映射器中没有更多可用的终结点。”

    测试服务器: <站点><DC 名称>
    开始测试:连接
    *Active Directory LDAP 服务检查 * Active Directory RPC 服务检查
    [<DC 名称>] DsBindWithSpnEx () 失败,出现错误 1753,
    终结点映射器中不再有可用的终结点。
    打印 RPC 扩展错误信息:
    错误记录 1,ProcessID 是 <dcDiag) (进程 ID>
    系统时间为: <日期><时间>
    生成组件为 2 (RPC 运行时) 状态为 1753:终结点映射器不再提供终结点。 检测位置为 500 NumberOfParameters 为 4
    Unicode 字符串:ncacn_ip_tcp
    Unicode 字符串: <源 DC 对象 GUID>._msdcs.contoso.com
    长 val: -481213899
    长 val: 65537
    错误记录 2,ProcessID 为 700 (DcDiag)
    系统时间为: <日期><时间>
    生成组件为 2 (RPC 运行时)
    状态为 1753:终结点映射器中不再有可用的终结点。
    NumberOfParameters 为 1
    Unicode 字符串:1025

    [复制检查、<DC 名称>] 最近的复制尝试失败:
    从 <源 DC> 到 <目标 DC>
    命名上下文: <目录分区的 DN 路径>
    复制 (1753) 生成错误:
    终结点映射器中不再有可用的终结点。
    失败发生在 <日期><时间>。
    上次成功发生在 <日期><时间>。
    自上次成功以来发生了 3 次失败。
    DC 名称>上的<目录正在处理中。
    启动或关闭,不可用。
    验证启动期间计算机未挂起。

  2. REPADMIN.EXE 报告复制尝试失败,状态为 1753。

    通常引用 1753 状态的 REPADMIN 命令包括但不限于:

    • REPADMIN /REPLSUM
    • REPADMIN /SHOWREPL
    • REPADMIN /SHOWREPS
    • REPADMIN /SYNCALL

    以下示例输出 REPADMIN /SHOWREPS 显示从 CONTOSO-DC2 到 CONTOSO-DC1 的入站复制失败并出现“复制访问被拒绝”错误:

    Default-First-Site-Name\CONTOSO-DC1
    DSA 选项:IS_GC
    网站选项: (无)
    DSA 对象 GUID:
    DSA invocationID:

    DC=contoso,DC=com
    Default-First-Site-Name\CONTOSO-DC2 通过 RPC
    DSA 对象 GUID:
    上次尝试 @ <日期><时间> 失败,结果 1753 (0x6d9) :
    终结点映射器中不再有可用的终结点。
    <#> 连续失败 () 。
    上次成功 @ <日期><时间>。

  3. Active Directory 站点和服务中的“检查复制拓扑”命令返回“终结点映射器中不再有可用的终结点”。

    右键单击源 DC 中的连接对象,然后选择“检查复制拓扑”失败,并显示“终结点映射器中没有更多可用的终结点。 屏幕上的错误消息如下所示:

    对话框标题文本:检查复制拓扑
    对话框消息文本:

    尝试联系域控制器期间发生以下错误:终结点映射器中不再提供终结点。

    确定

  4. Active Directory 站点和服务中的“立即复制”命令返回“终结点映射器中没有更多终结点可用”。

    右键单击源 DC 中的连接对象,选择“立即复制”失败,并显示“终结点映射器中没有更多可用的终结点。 屏幕上的错误消息如下所示:

    对话框标题文本:立即复制

    对话框消息文本:尝试将命名上下文 <目录分区名称> 从域控制器 <源 DC> 同步到域控制器 <目标 DC> 期间发生以下错误:终结点映射器中没有更多可用的终结点

    操作不会继续

    对话框中的按钮:确定

  5. NTDS 知识一致性检查器 (KCC) 、NTDS 常规或具有 1753 状态的 Microsoft-Windows-ActiveDirectory_DomainService 事件记录在目录服务事件日志中。

    通常引用 1753 状态的 Active Directory 事件包括但不限于:

    事件源 事件 ID 事件字符串
    NTDS 常规 1655 Active Directory 尝试与以下全局目录通信,但尝试失败。

    NTDS KCC 1925 尝试为以下可写目录分区建立复制链接失败。

    NTDS KCC 1265 知识一致性检查器 (KCC) 尝试为以下目录分区和源域控制器添加复制协议失败。

原因

下图显示了远程过程调用 (RPC) 工作流。 工作流从将服务器应用程序注册到步骤 1 中的 RPC 终结点映射器 (EPM) 开始。 最后,在步骤 7 中将数据从 RPC 客户端传递到客户端应用程序。

RPC 工作流图的屏幕截图,其中显示了从步骤 1 到步骤 7 的详细信息。

步骤 1 到 7 映射到以下操作:

  1. 服务器应用将其终结点注册到 RPC 终结点映射器 (EPM) 。
  2. 客户端代表用户、OS 或应用程序发起的操作进行 RPC 调用。
  3. 客户端 RPC 与目标计算机 EPM 联系,并请求终结点完成客户端调用。
  4. 服务器计算机的 EPM 使用终结点进行响应。
  5. 客户端 RPC 与服务器应用联系。
  6. 服务器应用执行调用,将结果返回给客户端 RPC。
  7. 客户端 RPC 将结果传递回客户端应用。

失败 1753 是由步骤 3 和 4 之间的失败生成的。 具体而言,错误 1753 意味着 RPC 客户端 (目标 DC) 可以通过端口 135 联系 RPC 服务器 (源 DC) ,但 RPC 服务器上的 EPM (源 DC) 找不到感兴趣的 RPC 应用程序,并返回了服务器端错误 1753。 此错误指示 RPC 客户端 (目标 DC) 通过网络从 RPC Server (AD 复制源 DC) 收到服务器端错误响应。

1753 错误的具体根本原因包括:

  1. 服务器应用从未启动。 也就是说,从未尝试过“更多信息”关系图中的步骤 1。
  2. 服务器应用已启动,但在初始化期间出现一些故障。 失败阻止了它向 RPC 终结点映射器注册。 也就是说,“更多信息”图中的步骤 1 已尝试,但失败。
  3. 服务器应用已启动,但后来死亡。 也就是说,“更多信息”图中的步骤 1 已成功完成。 后来由于服务器已死亡而撤消了该操作。
  4. 服务器应用手动取消注册其终结点 (类似于 3,但是有意的。不太可能,但为 completeness.)
  5. RPC 客户端 (目标 DC) 联系了与预期服务器不同的 RPC 服务器。 这是因为 DNS、WINS 或主机/lmhosts 文件中出现名称到 IP 映射错误。

错误 1753 不是由以下原因引起的:

  • RPC 客户端 (目标 DC) 与 RPC 服务器 (源 DC) 之间通过端口 135 缺乏网络连接。
  • RPC 服务器 (源 DC) (使用端口 135)与 RPC 客户端通过临时端口 (目标 DC) 之间缺乏网络连接。
  • 密码不匹配或源 DC 无法解密 Kerberos 加密数据包。

解决方案

验证向终结点映射程序注册其服务的服务是否已启动

  • 对于 Windows 2000 和 Windows Server 2003 DC:确保源 DC 已启动到正常模式。
  • 对于 Windows Server 2008 或 Windows Server 2008 R2:从源 DC 的控制台启动 Services Manager (services.msc) 。 验证 Active Directory 服务是否正在运行。 Active Directory 显示为“Active Directory 域服务”

验证 RPC 客户端 (目标 DC) 连接到预期的 RPC 服务器 (源 DC)

公共 Active Directory 林中的所有 DC 在 _msdcs中注册一条 GUIDED DC CNAME 记录。<林根域> DNS 区域,无论它们驻留在林中的哪个域。 引导 DC CNAME 记录派生自每个 DC NTDS 设置对象的 objectGUID。

执行基于复制的操作时,目标 DC 会查询 DNS 以获取源 DC GUIDED CNAME 记录。 CNAME 记录包含源 DC 的完全限定的计算机名称。 此名称用于通过以下方法派生源 DC IP 地址:

  • DNS 客户端缓存查找
  • 主机/LMHost 文件查找
  • DNS 或 WINS 中的主机 A/AAAA 记录

DNS、WINS、主机和 LMHOST 文件中过时的 NTDS 设置对象和 IP 映射名称错误可能会导致 RPC 客户端 (目标 DC) 连接到错误的 RPC 服务器 (源 DC) 。 此外,错误的名称到 IP 映射可能会导致 RPC 客户端 (目标 DC) 连接到甚至没有感兴趣的 RPC 服务器应用程序的计算机 (active Directory 角色,在这种情况下) 安装。 例如,DC2 的过时主机记录包含 DC3 或成员计算机的 IP 地址。

验证以下 GUID 是否匹配:

  • Active Directory 的目标 DC 副本中存在的源 DC 的对象 GUID
  • 存储在 Active Directory 的源 DC 副本中的源 DC 对象 GUID。

如果存在差异,请在 repadmin /showobjmeta NTDS 设置对象上使用,查看哪个对象对应于源 DC 的上次升级。 比较以下日期戳:

  • NTDS Settings 对象从 /showobjmeta创建日期。
  • 源 DC dcpromo.log 文件中的最后一个促销日期。

可能需要使用 DCPROMO 的上次修改/创建日期。日志文件本身。 如果对象 GUID 不相同,则目标 DC 可能具有源 DC 的过时 NTDS Settings 对象,该源 DC 的 CNAME 记录引用了名称错误的主机记录到 IP 的映射。

在目标 DC 上,运行 IPCONFIG /ALL 以确定目标 DC 用于名称解析的 DNS 服务器:

c:\>ipconfig /all  

在目标 DC 上,针对源 DC 完全限定的 DC CNAME 记录运行 NSLOOKUP

c:\>nslookup -type=cname \<fully qualified cname of source DC> <destination DCs primary DNS Server IP >
c:\>nslookup -type=cname \<fully qualified cname of source DC> <destination DCs secondary DNS Server IP>

验证由“拥有”源 DC 的主机名/安全标识返回 NSLOOKUP 的 IP 地址。

) C:\\>NBTSTAT -A \\<IP address _returned_ by NSLOOKUP in the step above>

OR

b) 登录到源 DC 的控制台,从 CMD 提示符运行 IPCONFIG 并验证源 DC 是否拥有上述 NSLOOKUP 命令返回的 IP 地址。

检查 DNS 中是否存在过时/重复的主机到 IP 的映射。

NSLOOKUP -type=hostname \<single label hostname of source DC> \<primary DNS Server IP on destination DC>
NSLOOKUP -type=hostname \<single label hostname of source DC> \<secondary DNS Server IP on destination DC>

NSLOOKUP -type=hostname \<fully qualified computer name of source DC> \<primary DNS Server IP on destination DC>
NSLOOKUP -type=hostname \<fully qualified computer name of source DC> \<secondary DNS Server IP on dest. DC>

如果主机记录中存在无效的 IP 地址,请调查是否已启用 DNS 清理并正确配置。

如果上述测试或网络跟踪未显示返回无效 IP 地址的名称查询,请考虑 HOST 文件、LMHOSTS 文件和 WINS 服务器中的过时条目。 还可以将 DNS 服务器配置为执行 WINS 回退名称解析。

验证服务器应用程序 (Active Directory 等,) 是否已向 RPC 服务器上的终结点映射程序注册 (源 DC)

Active Directory 混合使用已知端口和动态注册端口。 Active Directory 域控制器使用的已知端口和协议包括:

RPC 服务器应用程序 端口 TCP UDP Comments
DNS 服务器 53
Kerberos 88
LDAP 服务器 389
Microsoft-DS 445
LDAP SSL 636
全局编录服务器 3268
全局编录服务器 3269

已知端口未注册到终结点映射器。

Active Directory 和其他应用程序还注册在 RPC 临时端口范围内接收动态分配的端口的服务。 此类 RPC 服务器应用程序在 Windows 2000 和 Windows Server 2003 计算机上动态分配的 TCP 端口介于 1024 和 5000 之间。 它们是在 Windows Server 2008 和 Windows Server 2008 R2 计算机上动态分配的 49152 到 65535 范围内的 TCP 端口。 复制使用的 RPC 端口可以使用 MSKB 224196 中所述的步骤在注册表中硬编码。 Active Directory 在配置为使用硬编码端口时继续向 EPM 注册。

验证在 AD 复制) 的情况下,感兴趣的 RPC 服务器应用程序是否已在 RPC 服务器上 (源 DC 上注册自己。

有多种方法可以完成此任务。 一种是在源 DC 的主机上从管理员特权命令提示符安装并运行 PORTQRY

c:\>portquery -n \<source DC> -e 135 >file.txt

在输出中 portqry ,记下“MS NT Directory DRS 接口” (UUID = 351... ) 为ncacn_ip_tcp协议动态注册的端口号。 以下代码片段显示了 Windows Server 2008 R2 DC 的示例输出,以及 Active Directory 使用的 UUID/协议对,以 粗体突出显示:

UUID:e3514235-4b06-11d1-ab04-00c04fc2dcd2 MS NT Directory DRS 接口 ncacn_np:CONTOSO-DC01[\pipe\lsass]
UUID:e3514235-4b06-11d1-ab04-00c04fc2dcd2 MS NT Directory DRS 接口
ncacn_np:CONTOSO-DC01[\PIPE\protected_storage]
UUID:e3514235-4b06-11d1-ab04-00c04fc2dcd2 MS NT Directory DRS 接口
ncacn_ip_tcp:CONTOSO-DC01[49156]
UUID:e3514235-4b06-11d1-ab04-00c04fc2dcd2 MS NT Directory DRS 接口
ncacn_http:CONTOSO-DC01[49157]
UUID:e3514235-4b06-11d1-ab04-00c04fc2dcd2 MS NT Directory DRS 接口
ncacn_http:CONTOSO-DC01[6004]

其他原因

  1. 验证源 DC 是否在正常模式下启动。 并验证源 DC 上的 OS 和 DC 角色是否已完全启动。

  2. 验证Active Directory 域服务是否正在运行。 如果服务当前已停止或未配置默认启动值,请重置默认启动值。 重新启动修改后的 DC,然后重试该操作。

  3. 验证 RPC 服务和 RPC 定位符的启动值和服务状态是否适用于 OS 版本的 RPC 客户端 (目标 DC) 和 RPC 服务器 (源 DC) 。 如果服务当前已停止或未配置默认启动值,请重置默认启动值。 重新启动修改后的 DC,然后重试该操作。

    此外,请确保服务上下文与默认设置匹配。

    Windows 2000 启动值 服务状态
    远程过程调用 (RPC) 自动 开始
    远程过程调用 (RPC) 定位器 自动 开始
    Windows Server 2003、Server 2008、Server 2008 R2 启动值 服务状态
    远程过程调用 (RPC) 自动 开始
    远程过程调用 (RPC) 定位器 手动 Null 或已停止
  4. 验证动态端口范围的大小是否不受约束。 用于枚举 RPC 端口范围的 Windows Server 2008 和 Windows Server 2008 R2 NETSH 语法如下所示:

    >netsh int ipv4 show dynamicport tcp
    >netsh int ipv4 show dynamicport udp
    >netsh int ipv6 show dynamicport tcp
    >netsh int ipv6 show dynamicport udp
    
  5. 查看 知识库224196。 确保硬编码端口在源 DC 的 OS 版本的临时端口范围内。

  6. 验证 ClientProtocols 键是否存在于 HKLM\Software\Microsoft\Rpc 下面,并包含以下五个默认值:

    ncacn_http REG_SZ rpcrt4.dll
    ncacn_ip_tcp REG_SZ rpcrt4.dll
    ncacn_nb_tcp REG_SZ rpcrt4.dll
    ncacn_np REG_SZ rpcrt4.dll
    ncacn_ip_udp REG_SZ rpcrt4.dll
    

更多信息

导致 RPC 错误 1753 与 -2146893022 的 IP 映射错误名称的示例:目标主体名称不正确

contoso.com 由 IP 地址为 x.x.1.1 和 x.x.1.2 的 \\DC1 和 \\DC2 组成。 \\DC2 的主机“A”/“AAAA”记录已在为 \\DC1 配置的所有 DNS 服务器上正确注册。 此外,\\DC1 上的 HOSTS 文件包含将 DC2 的完全限定主机名映射到 IP 地址 x.x.1.2 的条目。 稍后,DC2 的 IP 地址从 X.X.1.2 更改为 X.X.1.3,新的成员计算机将加入 IP 地址为 x.x.1.2 的域。 Active Directory 站点和服务管理单元中的“立即复制”命令触发的 AD 复制尝试失败,并出现错误 1753。 跟踪如下所示:

F# SRC DEST 操作
1 x.x.1.1 x.x.1.2 ARP:Request,x.x.1.1 请求 x.x.1.2
2 x.x.1.2 x.x.1.1 ARP:Response,x.x.1.2 在 00-13-72-28-C8-5E
3 x.x.1.1 x.x.1.2 TCP:Flags=......S.,SrcPort=50206,DstPort=DCE 终结点解析 (135)
4 x.x.1.2 x.x.1.1 ARP:Request,x.x.1.2 请求 x.x.1.1
5 x.x.1.1 x.x.1.2 ARP:Response,x.x.1.1 在 00-15-5D-42-2E-00
6 x.x.1.2 x.x.1.1 TCP:Flags=...A..S., SrcPort=DCE 终结点解析 (135)
7 x.x.1.1 x.x.1.2 TCP:Flags=...A...., SrcPort=50206, DstPort=DCE 终结点解析 (135)
8 x.x.1.1 x.x.1.2 MSRPC:c/o 绑定:UUID{E1AF8308-5D1F-11C9-91A4-08002B14A0FA} EPT (EPMP)
9 x.x.1.2 x.x.1.1 MSRPC:c/o Bind Ack: Call=0x2 Assoc Grp=0x5E68 Xmit=0x16D0 Recv=0x16D0
10 x.x.1.1 x.x.1.2 EPM:请求:ept_map:NDR、DRSR (DRSR) {E3514235-4B06-11D1-AB04-00C04FC2DCD2} [DCE 终结点解析 (135) ]
11 x.x.1.2 x.x.1.1 EPM:响应:ept_map:0x16C9A0D6 - EP_S_NOT_REGISTERED

在帧 10 处,目标 DC 通过端口 135 查询源 DC 的终结点映射器,以获取 Active Directory 复制服务类 UUID {E351...}

在帧 11 中,源 DC(在本例中为成员计算机)尚未托管 DC 角色。 因此,它尚未注册 {E351...}复制服务的 UUID 及其本地 EPM。 源 DC 响应时出现符号错误EP_S_NOT_REGISTERED。 此错误映射到十进制错误 1753、十六进制错误0x6d9和友好错误“终结点映射器中没有可用的终结点”。

稍后,IP 地址为 x.x.1.2 的成员计算机在域中升级为副本 (replica) “MayberryDC”。contoso.com 同样,“立即复制”命令用于触发复制,但这次失败并显示屏幕上错误“目标主体名称不正确”。 NIC 拥有 IP 地址 x.x.1.2 的计算机是域控制器。 它当前已启动到正常模式,并且已使用其本地 EPM 注册了 {E351...} 复制服务 UUID。 但它不拥有 DC2 的名称/安全标识,并且无法解密来自 DC1 的 Kerberos 请求。 因此,请求失败并显示错误“目标主体名称不正确”。 此错误映射到十进制错误 -2146893022,十六进制错误0x80090322。

此类无效的主机到 IP 映射可能是由主机/lmhost 文件中的过时条目、DNS 或 WINS 中的主机 A/AAAA 注册引起的。

摘要:

  • 示例 1 失败,因为在这种情况下,HOST 文件中的主机到 IP 映射 (无效) 。 它导致目标 DC 解析为“源”DC,该 DC 没有 (运行 AD 服务,甚至没有为此安装) 。 因此,尚未注册复制 SPN,并且源 DC 返回了错误 1753。
  • 第二种情况下,无效的主机到 IP 映射在 HOST 文件中再次 (,) 导致目标 DC 连接到已注册 {E351...} 复制 SPN 的 DC。 但该源的主机名和安全标识与预期的源 DC 不同,因此尝试失败并出现错误 -2146893022:目标主体名称不正确

数据收集

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