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

本文介绍了一个问题,即 Active Directory 复制失败,出现 Win32 错误 1753:"终结点映射器不再提供终结点。"

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

家庭用户: 本文仅面向技术支持代理和 IT 专业人员。 如果你正在查找有关问题的帮助,请咨询MicrosoftCommunity 。

症状

本文介绍了 Win32 错误 1753 失败 AD 操作症状、原因和解决步骤:"终结点映射器不再提供终结点。"

  1. DCDIAG 报告连接测试、Active Directory 复制测试或 KnowsOfRoleHolders 测试失败,出现错误 1753:"终结点映射器不再提供终结点。"

    测试服务器: <site><DC Name>
    开始测试:连接
    * Active Directory LDAP Services 检查
    * Active Directory RPC 服务检查
    [ ] DsBindWithSpnEx () 失败,出现错误 1753,
    终结点映射器不再提供终结点。
    打印 RPC 扩展错误信息:
    错误记录 1,进程 ID (DcDiag)
    系统时间为: <date><time>
    生成组件为 2 (RPC 运行时) 状态为 1753:终结点映射器不再提供终结点。 检测位置为 500 NumberOfParameters 为 4
    Unicode 字符串:ncacn_ip_tcp
    Unicode 字符串 <source DC object GUID> :._msdcs.contoso.com
    Long val: -481213899
    Long val: 65537
    错误记录 2,ProcessID 为 DcDiag (700)
    系统时间为: <date><time>
    生成组件为 2 (RPC 运行时)
    Status is 1753: There are no more endpoints available from the endpoint mapper.
    NumberOfParameters 为 1
    Unicode 字符串:1025

    [Replications Check, <DC Name> ]最近的复制尝试失败:
    从 <source DC> 到 <destination DC>
    命名上下文: <DN path of directory partition>
    复制在 1753 (生成) :
    终结点映射器不再提供终结点。
    失败发生在 <date> <time> 上。
    最后一次成功发生于 <date> <time> 。
    自上次成功后,发生了 3 次失败。
    上的目录 <DC name> 正在处理中。
    的启动或关闭,并且不可用。
    验证计算机在启动期间是否挂起。

  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 调用 ID:

    DC=contoso,DC=com
    Default-First-Site-Name\CONTOSO-DC2 via RPC
    DSA 对象 GUID:
    上次尝试 @

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

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

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

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

    确定

  4. Active Directory 站点和服务中的"复制现在"命令返回"终结点映射器不再有可用的终结点。"

    右键单击源 DC 中的连接对象并选择"现在复制"失败,并显示"终结点映射器中不再有可用的终结点。" 屏幕错误消息如下所示:

    对话框标题文本:现在复制

    对话框消息文本:尝试将命名上下文从域控制器同步到域控制器时发生以下错误:终结点映射器中不再有 <directory partition name> <Source DC> <Destination DC> 可用的终结点

    操作不会继续

    对话框中的按钮:确定

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

    通常引用 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. 服务器应用使用 EPM 应用中的 RPC 终结点映射 (注册) 。
  2. 客户端代表用户、操作系统或应用程序启动的操作进行 RPC 调用。
  3. 客户端 RPC 与目标计算机 EPM 联系,并要求终结点完成客户端呼叫。
  4. 服务器计算机 EPM 响应终结点。
  5. 客户端 RPC 与服务器应用联系。
  6. 服务器应用执行调用,将结果返回给客户端 RPC。
  7. 客户端 RPC 将结果传递回客户端应用。

失败 1753 由步骤 3 到步骤 4 之间的故障生成。 具体来说,错误 1753 意味着 RPC 客户端 (目标 DC) 可以通过端口 135 与 RPC Server (源 DC) 联系,但 RPC Server (源 DC) 上的 EPM 无法找到感兴趣的 RPC 应用程序,并返回服务器端错误 1753。 该错误指示 RPC 客户端 (目标 DC) 收到来自 RPC Server (AD 复制源 DC) 的服务器端错误响应。

1753 错误的特定根本原因包括:

  1. 服务器应用从未启动过。 也就是说,从未尝试过"详细信息"图表中的步骤 1。
  2. 服务器应用已启动,但在初始化过程中出现一些失败。 该故障阻止它向 RPC 终结点映射器注册。 也就是说,"详细信息"图中的步骤 1 已尝试但失败。
  3. 服务器应用已启动,但后来又启动。 也就是说,"详细信息"图中的步骤 1 已成功完成。 稍后由于服务器安装而撤消了此操作。
  4. 服务器应用手动注销其终结点 (3,但有意为之。 不可能,但为了完整而包括)
  5. RPC 客户端 (DC) 与预期服务器联系的 RPC 服务器不同。 这是因为 DNS、WINS 或主机 /lmhosts 文件中出现名称到 IP 映射错误。

错误 1753 不是由:

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

解决方案

验证向终结点映射器注册其服务的服务已启动

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

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

通用 Active Directory 林中所有 DCS 在目录林中注册一个 GUIDED DC CNAME _msdcs。<forest root domain> DNS 区域,而不考虑它们驻留在林中的域。 引导 DC CNAME 记录派生自每个 DCs NTDS 对象的 objectGUID 设置对象。

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

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

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

验证以下 GUID 是否匹配:

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

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

  • NTDS 设置对象的创建日期 /showobjmeta
  • 源 DCS dcpromo.日志文件。

您可能必须使用 DCPROMO 的上次修改/创建日期。日志文件本身。 如果对象 GUID 不相同,目标 DC 可能有一个过时的 NTDS 设置 对象用于源 DC,其 CNAME 记录引用了名称错误的 IP 映射的主机记录。

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

c:\>ipconfig /all  

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

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 地址。

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

b) 登录到源 DC 的控制台,从 CMD 提示符运行并验证源 DC 是否拥有上面 IPCONFIG 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 备注
DNS 服务器 53
Kerberos 88
LDAP Server 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 注册。

确认感兴趣的 RPC Server 应用程序已在 RPC Server 上的 RPC 终结点映射器中注册 (对于 AD 复制服务器,则注册到源 DC) 。

完成此任务的方法有很多。 一种是在源 DC 的控制台上的管理员特权命令提示符下安装和运行PORTQRY:

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

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

UUID:e3514235-4b06-11d1-ab04-00c04fc2dcd2 MS NT 目录 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 定位器启动值和服务状态对于 RPC 客户端目标 DC (操作系统版本和 RPC Server) 源 DC (是否正确) 。 如果服务当前已停止或者未配置默认启动值,请重置默认启动值。 重新启动修改后的 DC,然后重试该操作。

    还要确保服务上下文与默认设置相匹配。

    Windows 2000 启动值 服务状态
    远程过程调用 (RPC) 自动 已启动
    远程过程调用 (RPC) 定位器 自动 已启动
    WindowsServer 2003、Server 2008、Server 2008 R2 启动值 服务状态
    远程过程调用 (RPC) 自动 已启动
    远程过程调用 (RPC) 定位器 手动 Null 或 Stopped
  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. 查看KB 224196。 确保硬编码端口在源 DC 操作系统版本的临时端口范围内。

  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.x.1.2 ARP:Request,x.x.1.1 要求 x.x.1.2
2 x.x.1.2 x.x.x.1.1 ARP:Response,x.x.1.2 at 00-13-72-28-C8-5E
3 x.x.1.1 x.x.1.2 TCP:Flags=...S., SrcPort=50206, DstPort=DCE endpoint resolution (135)
4 x.x.1.2 x.x.x.1.1 ARP:Request,x.x.1.2 要求 x.x.1.1
5 x.x.1.1 x.x.x.1.2 ARP:Response,x.x.1.1 at 00-15-5D-42-2E-00
6 x.x.1.2 x.x.1.1 TCP:Flags=...答:。S., SrcPort=DCE endpoint resolution (135)
7 x.x.1.1 x.x.1.2 TCP:Flags=...A...., SrcPort=50206, DstPort=DCE endpoint resolution (135)
8 x.x.1.1 x.x.x.1.2 MSRPC:c/o Bind:UUID{E1AF8308-5D1F-11C9-91A4-08002B14A0FA} EPT (EPMP)
9 x.x.1.2 x.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.x.1.2 EPM:请求:ept_map:NDR、DRSR (DRSR) {E3514235-4B06-11D1-AB04-00C04FC2DCD2} [DCE 终结点分辨率 (135) ]
11 x.x.1.2 x.x.x.1.1 EPM:响应:ept_map:0x16C9A0D6 - EP_S_NOT_REGISTERED

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

在帧 11 中,源 DC(本例中为成员计算机)尚未托管 DC 角色。 因此,它尚未注册 {E351...} 具有本地 EPM 的复制服务的 UUID。 源 DC 使用符号错误响应EP_S_NOT_REGISTERED。 此错误映射到小数错误 1753、十六0x6d9错误和友好错误"终结点映射器不再提供终结点"。

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

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

摘要:

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