Active Directory 复制错误1722: RPC 服务器不可用

本文可帮助修复 Active Directory 复制的错误1722。

原始产品版本:   Windows Server 2019、Windows Server 2016、WIndows Server 2012 R2
原始 KB 数:   2102154

症状

本文介绍了解决具有 Win32 错误1722的 Active Directory 复制失败的症状、原因和解决方法: RPC 服务器不可用。

  1. 副本 DC 的 DCPROMO 提升无法在帮助器 DC 上创建 NTDS 设置对象,错误1722。

    对话框标题文本: Active Directory 域服务安装向导

    对话框消息文本:

    操作失败,因为: Active Directory 域服务无法为此 Active Directory 域控制器 CN = NTDS 设置、CN = <Name of DC being promoted),CN=Servers,CN=<site name> 、cn = Sites、CN = Configuration、DC = <forest root domain> 在远程 AD DC 上创建 ntds 设置对象 <helper DC> ... <domain name> <top level domain>确保提供的网络凭据具有足够的权限。 "RPC 服务器不可用。"

  2. DCDIAG 报告 Active Directory 复制测试失败,错误1722: RPC 服务器不可用。

    [复制检查, <DC Name> ]最近的复制尝试失败 <source DC> :从 <destination DC>
    命名上下文: <DN path of directory partition>
    复制生成错误 (1722) :
    RPC 服务器不可用。
    发生故障 <date> <time> 。
    上一次成功发生 <date> <time> 。
    <X> 上次成功之后发生的故障。
    [ <dc name> ] DsBindWithSpnEx ( # A1 失败,并出现错误1722。
    RPC 服务器不可用。。
    打印 RPC 扩展错误信息:
    <snip>

  3. REPADMIN.EXE 报告复制尝试失败,状态 1722 (0x6ba) 。

    通常引用-1722 (0x6ba) 状态的 REPADMIN 命令包括但不限于:

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

    REPADMIN /SHOWREPS REPADMIN /SYNCALL 下面显示了RPC 服务器不可用的示例输出和描述错误:

    c:\> repadmin /showreps  
    <site name><destination DC>  
    DC Options: <list of flags>  
    Site Options: (none)  
    DC object GUID: <NTDS settings object object GUID>  
    DC invocationID: <invocation ID string>  
    ==== INBOUND NEIGHBORS ======================================  
    DC=<DN path for directory partition>  
        <site name><source DC via RPC  
            DC object GUID: <source DCs ntds settings object object guid>  
            Last attempt @ <date> <time> failed, result **1722 (0x6ba):  
    The RPC server is unavailable.  
            <X #> consecutive failure(s).  
            Last success @ <date> <time>
    

    REPADMIN /SYNCALL下面显示了 "RPC 服务器不可用的说明" 错误示例输出:

     C:\>repadmin /syncall  
     CALLBACK MESSAGE: Error contacting server \<object guid of NTDS Settings object>._msdcs.\<forest root domain>.\<top level domain> (network error): 1722 (0x6ba):  
     The RPC server is unavailable.
    
  4. Active Directory 站点和服务中的 立即复制 命令返回 RPC 服务器不可用

    在源 DC 中右键单击 connection 对象,然后选择 " 立即复制 " 将无法运行 RPC 服务器。 屏幕上显示的错误消息如下:

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

    对话框消息文本:

    尝试将命名上下文 <DNS name of directory partition> 从域控制器同步到域控制器时发生以下错误 <source Dc host name> <destination DC hostname> : RPC 服务器不可用。 此操作不会继续。 此情况可能是由 DNS 查找问题导致的。 有关常见 DNS 查找问题的疑难解答的信息,请参阅以下 Microsoft 网站: DNS 查找问题

  5. 在目录服务事件日志中记录具有1722状态的 NTDS KCC、NTDS 常规或 Microsoft Windows ActiveDirectory_DomainService 事件。

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

    事件源 事件 ID 事件字符串
    Microsoft-ActiveDirectory_DomainService 1125 Active Directory 域服务安装向导 (Dcpromo) 无法与以下域控制器建立连接。
    NTDS KCC 1311 知识一致性检查器 (KCC) 检测到以下目录分区存在问题。
    NTDS KCC 1865 知识一致性检查器 (KCC) 无法形成完整的跨树网络拓扑。 因此,无法从本地网站访问以下网站列表。
    NTDS KCC 1925 尝试为以下可写目录分区建立复制链接时失败。
    NTDS 复制 1960 内部事件:以下域控制器收到来自远程过程调用 (RPC) connection 的异常。 该操作可能已失败。

原因

RPC 是网络传输和应用程序协议之间的中间层。 RPC 本身不会对故障进行特殊的深入了解,但会尝试将较低层协议故障映射到 RPC 层上的错误。

当较低层协议报告连接故障时,将记录 RPC 错误 1722/0x6ba/RPC_S_SERVER_UNAVAILABLE。 常见的情况是,抽象 TCP 连接操作失败。 在 AD 复制的上下文中,目标 DC 上的 RPC 客户端无法成功连接到源 DC 上的 RPC 服务器。 原因的常见原因是:

  1. 链接本地故障
  2. DHCP 故障
  3. DNS 故障
  4. WINS 故障
  5. 路由故障 (包括防火墙上的阻止端口)
  6. IPSec/网络身份验证失败
  7. 资源限制
  8. 较高层协议未运行
  9. 较高层协议返回此错误

解决方案

用于确定问题的基本故障排除步骤。

验证启动值和服务状态对 RPC、RPC 定位器和 Kerberos 密钥发行中心是否正确

验证 "远程过程调用" 的 "启动值" 和 "服务状态是否正确" (RPC) 、远程过程调用 (RPC) 定位器和 Kerberos 密钥发行中心。

OS 版本将为记录复制错误的源系统和目标系统确定正确的值。 使用下表可帮助验证设置。

服务名称 Windows 2000 Windows 2003/R2 Windows 2008 Windows 2008 R2
远程过程调用 (RPC) 已启动/自动 已启动/自动 已启动/自动 已启动/自动
远程过程调用 (RPC) 定位器 已启动/自动 (域控制器) 未启动/手动 (成员服务器) 未启动/手动 未启动/手动 未启动/手动
Kerberos 密钥发行中心 (KDC) 已启动/自动 (域控制器) 未在成员服务器 (启动/禁用) 已启动/自动 (域控制器) 未在成员服务器 (启动/禁用) 已启动/自动 (域控制器) 未在成员服务器 (启动/禁用) 已启动/自动 (域控制器) 未在成员服务器 (启动/禁用)

如果您进行了任何更改以与上面的设置相匹配,请重新启动计算机,并验证启动值和服务状态是否与上表中记录的值相匹配。

验证 ClientProtocols 项是否存在于 HKEY_LOCAL_MACHINE\Software\Microsoft\Rpc 下,以及它是否包含正确的默认协议

协议名称 类型 数据值
ncacn_http REG_SZ rpcrt4.dll
ncacn_ip_tcp REG_SZ rpcrt4.dll
ncacn_np REG_SZ rpcrt4.dll
ncacn_ip_udp REG_SZ rpcrt4.dll

如果缺少 ClientProtocols 项或4个默认值中的任何一个,则从已知良好的服务器导入密钥。

验证 DNS 是否正常工作

DNS 查找故障是指复制时遇到大量 1722 RPC 错误的原因。

有几个工具可用于帮助识别 DNS 错误:

  • DCDIAG /TEST:DNS /V /E /F:<filename.log>

    DCDIAG /TEST:DNS 命令可以验证 windows 2000 server (SP3 或更高版本) 、Windows server 2003 和 Windows server 2008 家族域控制器的 DNS 运行状况。 此测试首次随 Windows Server 2003 Service Pack 1 引入。

    此命令有七个测试组。

    • 身份验证 (Auth)
    • 基本 (Basc)
    • 记录注册 (RReg)
    • 动态更新 (Dyn)
    • (Del) 的委派
    • (Forw 的转发器/根提示)

    示例输出:

    TEST: Authentication (Auth)
    身份验证测试:已成功完成

    TEST: Basic (Basc)
    Microsoft (R) Windows (R) Server 2003,Enterprise Edition (Service Pack 级别: 2.0) 受支持
    NETLOGON 服务正在运行
    kdc 服务正在运行
    DNSCACHE 服务正在运行
    DNS 服务正在运行
    DC 是 DNS 服务器
    网络适配器信息:
    适配器 [00000009] Microsoft 虚拟机总线网络适配器:
    MAC 地址为00:15:5D:40: CF:92
    IP 地址是静态的
    IP 地址: <IP Address>
    DNS 服务器:
    <DNS IP Address> (DC.domain.com ) [有效]
    找到此 DC 的 A 记录
    找到 Active Directory 区域的 SOA 记录
    在此 DC/DNS 服务器上找到的 Active Directory 区域 (主)
    找不到此 DC/DNS 服务器上的根区域
    <omitted other tests for readability>

    DNS 测试结果摘要:

    Auth Basc Forw Del Dyn RReg Ext

    Domain: fragale.contoso.com DC1 PASS PASS FAIL pass pass n/a
    child.fragale.contoso.com
    DC2 pass n/a n/a n/a PASS n/a

    企业 DNS 基础结构测试结果:
    对于父域 domain.com 和子域子元素:
    无法从父域到从属域的转发器或根提示配置错误
    错误:将转发器从从属域配置为父域,但某些转发器未能通过 DNS 服务器测试

    有关错误详细信息, (参阅 DNS 服务器 "部分)
    委派已从父域正确配置到从属域
    .........................domain.com 失败的测试 DNS

    摘要提供了有关此测试中更常见故障的补救步骤。

    有关此测试的说明和其他选项,可参阅 域控制器诊断工具 ( # A0)

  • NLTEST /DSGETDC:<netbios or DNS domain name>

    Nltest /dsgetdc 用于行使 dc 定位程序进程。 因此 /dsgetdc:<domain name> ,将尝试查找域的域控制器。 使用强制标志将强制域控制器位置,而不是使用缓存。 您还可以指定 /gc/pdc 等选项,以查找全局编录或主域控制器仿真器。 若要查找全局编录,必须指定 树名称,该名称是根域的 DNS 域名。

    示例输出:

    DC: [ \ DC.fabrikam.com ]
    处理 \\<IP Address>
    Dom Guid:5499c0e6-2d33-429d-aab3-f45f6a06922b
    Dom 名称: fabrikam.com
    林名称: fabrikam.com
    Dc 站点名称:默认-第一个站点名称
    我们的网站名称:默认的第一个网站名称
    Flags: PDC GC DS LDAP KDC TIMESERV 可写 DNS_DC DNS_DOMAIN DNS_FOREST CLOSE_SITE
    命令成功完成

  • Netdiag -v

    可与 Windows 2003 和早期版本结合使用,以收集有关网络配置和错误的特定信息。 此工具在执行切换时需要一些时间才能运行 -v

    DNS 测试的示例输出:

    DNS 测试。 . . . . . . . . . . . . :已传递
    Interface {34FDC272-55DC-4103-B4B7-89234BC30C4A}
    DNS 域:
    DNS 服务器: <DNS Server Ip address>
    IP 地址:与 PDN 的预期注册 (主 DNS 域名) :
    Hostname: DC.fabrikam.com
    权威区域: fabrikam.com
    主 DNS 服务器: DC.fabrikam.com<Ip Address>
    权威 NS:<Ip Address>
    检查 DNS 服务器上 Dc 条目的 DNS 注册 <DNS Server Ip address>
    DNS 服务器 "" 上的记录是正确的 <DNS Server Ip address> 。
    (您将对此 DC 的每个条目多次看到此行重复多次。 包括 srv 记录。 )
    DNS 服务器 "" 上的记录是正确的 <DNS Server Ip address> 。
    PASS-DC 的所有 DNS 条目都在 DNS 服务器 "" 上注册 <DNS Server Ip address> 。

  • ping -a <IP_of_problem_server>

    这是一种简单的快速测试,用于验证域控制器的主机记录是否正在解析为正确的计算机。

  • dnslint /s IP /ad IP

    DNSLint 是一种 Windows 实用工具,可帮助您诊断常见的 DNS 名称解析问题。 此输出为包含大量信息的 htm 文件,其中包括:

    DNS 服务器: localhost

    IP 地址:127.0.0。1
    UDP 端口53响应查询:是
    TCP 端口53响应查询:未测试
    为域进行权威应答:否

    来自服务器的 SOA 记录数据:

    权威名称服务器: DC.domain.com
    Hostmaster: hostmaster
    区域序列号:14
    区域过期时间:1.00 天 (s)
    刷新周期:900秒
    重试延迟:600秒
    默认 (最低) TTL:3600秒

  • 来自服务器的其他权威 (NS) 记录: DC2.fabrikam.com <IP Address>

    Alias (CNAME) 并粘附 (来自服务器的林 Guid 的) 记录:

    • CNAME: 98d4aa0c-d8e2-499a-8f90-9730b0440d9b._msdcs (fabrikam)

      • Alias DC.fabrikam.com
      • 粘附 <IP Adress>
    • CNAME: a2c5007f-7082-4adb-ba7d-a9c47db1efc3._msdcs (fabrikam)

      • Alias dc2.child.fabrikam.com
      • 粘附 <IP Address>

      有关详细信息,请参阅 DNSLint 实用工具的说明

验证网络端口是否被防火墙或第三方应用程序阻止(侦听所需的端口)

(侦听端口135的终结点映射器) 告知客户端为其 (FRS、AD 复制、MAPI 等的随机分配的端口,) 正在侦听。

应用协议 协议 端口
全局编录服务器 TCP 3269
全局编录服务器 TCP 3268
LDAP 服务器 TCP 389
LDAP 服务器 UDP 389
LDAP SSL TCP 636
LDAP SSL UDP 636
IPsec ISAKMP UDP 500
NAT-T UDP 4500
RPC TCP 135
RPC 随机分配的高 TCP 端口¹ TCP 1024-5000
49152-65535 *

* 这是 Windows Server 2008、Windows Vista、Windows 7 和 Windows 2008 R2 中的范围。

Portqry 可用于标识在将其他 DC 作为目标时是否阻止来自 Dc 的端口。 可以在 PortQry 命令行端口扫描程序版本 2.0中下载该程序。

示例语法:

  • portqry -n <problem_server> -e 135
  • portqry -n <problem_server> -r 1024-5000

可以在 Portqry 命令行端口扫描程序的 Portqryui-用户界面中找到 Portqryui 的图形版本(称为 "")。

如果动态端口范围包含阻止的端口,请使用以下链接配置可为客户管理的端口范围。

有关配置和使用防火墙和域控制器的其他重要链接:

网卡驱动程序不正确

有关最新驱动程序,请参阅网络卡供应商或 Oem。

UDP 碎片可能导致 RPC 服务器源出现的复制错误不可用

LSASRV 源的事件 ID 40960 & 40961 错误对此特殊原因很常见。

有关详细信息,请参阅 如何强制 Kerberos 在 Windows 中使用 TCP 而不是 UDP

Dc 之间的 SMB 签名不匹配

使用 "默认域控制器策略" 在下一节中为 SMB 签名配置一致的设置将有助于解决这种原因:

Computer Configuration\Windows Settings\Security Settings\Local Policies\Security Options

  • Microsoft 网络客户端:对通信进行数字签名 (始终禁用) 禁用。
  • Microsoft 网络客户端:在服务器同意启用) 时,对通信 (进行数字签名。
  • Microsoft 网络服务器:对通信进行数字签名 (始终禁用) 禁用。
  • Microsoft 网络服务器:如果客户端同意) 启用,则对通信 (进行数字签名。

可以在以下注册表项下找到这些设置:

  • HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\LanManWorkstation\ParametersHKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\LanManServer\Parameters

    • RequireSecuritySignature = always (0,disable,1启用) 。
    • EnableSecuritySignature = server 同意 (0,disable,1启用) 。

其他故障排除:

如果以上不提供针对1722的解决方案,则可以使用以下诊断日志记录来收集详细信息:

Windows Server 2003 SP2 计算机记录 NTDS 复制事件1960、1961、1962和1963中的扩展 RPC 服务器信息。
Crank NTDS 诊断日志记录

1 = basic、2和3将连续添加详细信息,5日志扩展信息。

参考