
简介这份PDF面向Windows Server域环境的管理员与运维人员聚焦Active Directory复制故障的排查与诊断。内容从复制的基本原理切入梳理架构NC、配置NC与域NC的同步机制讲解KCC如何依据站点、站点链路与连接对象构建复制拓扑以及桥头服务器、USN高水印值与最新矢量在控制复制流量中的作用并逐一介绍DsGetDcName、Repadmin、Ntdsutil、Netdiag、Dcdiag与事件查看器六个基本工具的适用场景帮助读者在复制异常时快速定位问题发生的时间与原因。资源包共1个PDF文件约514KB内容紧凑、便于随查随用。目前已有62人学习适合需要系统理解AD复制机制、提升目录服务排障能力的中高级运维人员参考。1. 排除 AD 复制故障的 6 个基本工具从「事件日志刷屏」到定位真凶凌晨两点收到告警某台域控的 Directory Service 日志里 1311、1864、1566 三个事件 ID 轮番刷屏用户改完密码半小时还登不上另一台机器。这种场景下Active Directory 复制故障排查最忌讳的就是一上来就重启服务或者强制同步——那只会把可用的后悔药也一起吃掉。AD 复制本质上是多主复制模型下的状态收敛问题每台 DC 既是写入方也是读取方故障可能出在网络层、认证层、拓扑层或者数据库层。标题里说的 6 个基本工具指的是 repadmin、dcdiag、事件查看器、DNS 管理器、AD 站点和服务、以及 netdom/PORTQRY 这类连通性验证工具。这套组合能覆盖从「复制到底通不通」到「为什么这条链路不通」的完整排查路径适合日常运维 AD 域控的工程师也适合刚接手域环境、面对一堆报错不知道从哪下手的同行。下面按实际排障顺序把这 6 个工具拆开讲每一步都落到具体命令和参数上。2. 先用 repadmin 把复制状态摸清楚三条命令定位故障范围repadmin 是 AD 复制排障的第一入口它直接跟 KCC 生成的复制拓扑对话能告诉你「谁跟谁复制、上次成功是什么时候、失败了多少次」。很多人只知道repadmin /showrepl但真正高效的做法是先跑摘要再按需下钻。2.1 repadmin /replsummary30 秒判断是全局故障还是单点故障拿到一台域控第一件事不是看详细日志而是跑摘要repadmin /replsummary输出分两部分Source DSA 和 Destination DSA。重点看 largest delta最大时间差和 fails/total失败次数/总尝试次数。如果所有 DC 的 largest delta 都在 15 分钟以内、fails 全是 0说明复制整体健康问题可能出在客户端 DNS 解析或者站点链接开销上。如果某台 DC 的 fails 数字很大或者 largest delta 显示「 60 days」那故障范围就锁定在这台机器相关的入站或出站连接上。参数说明/replsummary不带额外参数时默认查询当前登录域的所有 DC。如果只想看某个站点加/bysrc或/bydest配合/site:过滤。注意这个命令走的是 RPC 调用如果目标 DC 的 RPC 服务不可达会直接报「无法联系」——这本身就是一条重要线索。2.2 repadmin /showrepl逐条链路看「上次成功」和「连续失败次数」摘要定位到问题 DC 后用 showrepl 看具体是哪条入站连接挂了repadmin /showrepl DC01输出里每个命名上下文Schema、Configuration、Domain下面会列出所有入站邻居。关键字段是「Last success」上次成功时间和「Number of consecutive failures」连续失败次数。如果某个邻居的 Last success 是几小时前而 consecutive failures 在持续增长说明这条链路从某个时间点开始就断了。记下这个时间点去事件日志里找对应时刻的错误事件。参数说明/showrepl后面跟目标 DC 名称不写则查本机。加/verbose会显示更多细节包括上次同步的 USN 和调用 ID。如果输出里出现「DsReplicaSync() failed with status 8453」说明复制被对方拒绝通常是权限或防火墙问题不是网络不通。2.3 repadmin /showutdvec确认「我以为同步了」和「实际同步了」的差距有时候 showrepl 显示成功但数据就是不一致。这时候要看更新序列号向量repadmin /showutdvec DC01 dccorp,dcexample,dccom输出是一个矩阵行是 DC 名称列是各 DC 的 USN 高水位。如果两台 DC 对同一台源 DC 的 USN 记录差距很大说明虽然复制链路「成功」了但实际数据没传过去——常见于复制被部分过滤或者数据库层有逻辑删除冲突。这个命令是判断「复制到底有没有真正收敛」的硬指标比看事件日志靠谱。参数说明/showutdvec需要指定目标 DC 和命名上下文 DN。输出里的数字是 USN不是时间戳所以需要跟repadmin /showchanges配合看具体变更内容。如果发现某台 DC 的 USN 明显落后先别急着重启用repadmin /syncall /AdeP强制同步一次观察 USN 是否追平。3. dcdiag 做全面体检从 DNS 到 FSMO 的自动化检查repadmin 看的是复制本身dcdiag 看的是「这台 DC 作为 AD 节点是否健康」。很多复制故障的根因不在复制服务而在 DNS 解析、时间同步或者 SYSVOL 共享上。dcdiag 把这些检查串成一条流水线适合在 repadmin 定位到问题 DC 后做深度诊断。3.1 dcdiag /test:dns复制故障里 70% 的根因在这里AD 复制强依赖 DNS 的 SRV 记录定位。如果 DNS 解析有问题repadmin 会报「RPC 服务器不可用」但实际网络是通的。跑 DNS 专项测试dcdiag /test:dns /v /s:DC01输出会分几块DNS 服务器配置、区域存在性、SRV 记录注册、外部解析。重点看「SRV record registration」和「DC 定位」两项。如果 SRV 记录缺失或者指向了错误的 IP复制伙伴就找不到彼此。常见现象是某台 DC 的网卡 IP 改了但 DNS 里的 A 记录和 SRV 记录没更新导致其他 DC 还在往旧 IP 发起复制请求。参数说明/test:dns可以单独跑也可以加/DnsBasic或/DnsForwarders只跑子项。/v是详细模式会列出每项检查的具体结果。/s:DC01指定目标服务器。如果输出里出现「Missing SRV record at DNS server」去 DNS 管理器里检查_msdcs区域下的_ldap、_kerberos子目录。3.2 dcdiag /test:replications 与 /test:advertising验证复制前提条件DNS 没问题后跑复制和广告测试dcdiag /test:replications /test:advertising /s:DC01/test:replications会检查每台 DC 的复制权限和 RPC 连通性相当于 dcdiag 版的 repadmin /showrepl。/test:advertising检查这台 DC 是否在 DNS 里正确广告了自己提供的服务。如果 advertising 失败说明其他 DC 根本不知道这台机器能提供 AD 服务复制自然无从谈起。参数说明这两个测试可以合并跑也可以分开。/test:advertising依赖 DNS 测试的结果所以建议先跑/test:dns。如果 advertising 报「DC 没有广告自己」检查 Netlogon 服务是否启动以及SYSVOL和NETLOGON共享是否存在。3.3 dcdiag /v 全量输出怎么读别被几百行吓退全量 dcdiag 输出很长但真正需要关注的只有几个关键词dcdiag /v /s:DC01 dcdiag_DC01.txt把输出重定向到文件然后搜索「failed」「error」「warning」。重点看这几项Connectivity连通性、Advertising广告、FSMO Check角色持有、RidManager、MachineAccount。如果 Connectivity 失败说明这台 DC 连自己的基本服务都访问不了先查服务状态和防火墙。如果 FSMO Check 报错说明角色持有者有问题复制拓扑会受影响。参数说明/v输出详细信息/f:filename可以直接写文件。建议每次排障都保存一份 dcdiag 输出方便对比故障前后的差异。注意 dcdiag 默认只跑当前 DC加/s:指定其他 DC 时需要域管理员权限。4. 事件查看器与 DNS 管理器两个被低估的「黑匣子」repadmin 和 dcdiag 给的是「当前状态」事件查看器和 DNS 管理器给的是「历史轨迹」。很多间歇性复制故障跑命令时一切正常但事件日志里全是线索。4.1 事件查看器里必须盯住的 5 个事件 ID打开「事件查看器 → 应用程序和服务日志 → Directory Service」筛选以下 ID事件 ID含义常见原因1311知识一致性检查器KCC无法构建拓扑站点链接配置错误、DC 不可达1864复制超过最大允许间隔网络中断、DNS 解析失败1566复制被拒绝权限不足安全描述符损坏、RPC 认证失败1925复制尝试失败稍后重试目标 DC 关机或服务未启动2089复制被延迟因为还在初始同步新 DC 刚加入正常现象排查时按时间倒序看找到第一个报错的时间点然后往前推 5 分钟看有没有网络或服务相关的系统日志。如果 1864 和 1925 交替出现基本可以确定是网络层间歇性丢包用ping -t和pathping验证。4.2 DNS 管理器检查 SRV 记录和老化设置DNS 管理器不只是看 A 记录。展开_msdcs.域名区域检查_ldap、_kerberos、_gc等子目录下的 SRV 记录是否完整。每台 DC 都应该在这些目录下注册自己的记录。如果某台 DC 的记录缺失其他 DC 就无法通过 DNS 找到它的复制端口。另一个容易忽略的是 DNS 老化和清理设置。如果区域启用了「老化」而 DC 的 A 记录没有及时刷新记录会被删除导致复制中断。检查方法右键区域 → 属性 → 老化看「无刷新间隔」和「刷新间隔」是否合理。常见做法是设成 7 天无刷新、7 天刷新避免记录被误删。提示修改 DNS 老化设置前先确认没有其他服务依赖短 TTL 记录。改完后用ipconfig /registerdns在每台 DC 上重新注册记录。5. 避坑与排查AD 复制排障里最容易翻车的 4 个操作5.1 坑一直接删掉「坏」的复制连接现象repadmin /showrepl 显示某条入站连接连续失败有人直接手动删除这条连接指望 KCC 重建。原因KCC 重建连接需要 15 分钟到几小时期间复制完全中断。如果删除的是桥头堡连接可能导致整个站点失联。解决不要手动删连接。先跑repadmin /kcc强制 KCC 重新计算拓扑观察连接是否自动恢复。如果必须删先记录原始配置删完后立即跑repadmin /syncall /AdeP强制同步。5.2 坑二用repadmin /syncall不带参数乱同步现象复制报错后直接跑repadmin /syncall结果输出一堆「调用被拒绝」。原因不带参数的 syncall 会尝试同步所有命名上下文到所有伙伴如果权限不足或者网络不通会大量报错反而掩盖真正的问题。解决用repadmin /syncall /AdeP其中/A表示所有命名上下文/d表示识别 DN/e表示企业级跨站点/P表示推模式。先在一台 DC 上跑观察输出再决定是否推广。5.3 坑三忽略时间同步只查复制现象repadmin 显示复制成功但 Kerberos 认证失败用户登录报「时钟偏差过大」。原因AD 复制依赖 Kerberos 认证Kerberos 默认允许的最大时间偏差是 5 分钟。如果 DC 之间时间不同步复制会间歇性失败但 repadmin 可能显示「上次成功」是几分钟前看起来正常。解决检查 PDC 模拟器的时间源用w32tm /query /status看当前时间源。域内所有 DC 应该跟 PDC 模拟器同步PDC 模拟器跟外部可靠时间源同步。用w32tm /resync强制同步后再跑 repadmin 验证。5.4 坑四在 DNS 里手动改 SRV 记录指向现象某台 DC 的 IP 变了SRV 记录还指向旧 IP有人手动去 DNS 里改记录。原因手动改的记录不会自动更新下次 DC 重启或者 Netlogon 服务重启时会自动重新注册覆盖手动修改导致问题反复。解决不要手动改 SRV 记录。在 DC 上跑ipconfig /registerdns和nltest /dsregdns让 Netlogon 服务自动重新注册。如果自动注册失败检查 DC 的 DNS 客户端设置是否指向了正确的 DNS 服务器。6. 用 netdom 和 PORTQRY 做最后验证把「通不通」变成「为什么不通」前面几个工具告诉你「复制失败了」netdom 和 PORTQRY 告诉你「失败在哪一层」。这两个工具适合在 repadmin 和 dcdiag 都指向网络问题时做精确打击。6.1 netdom verify验证 DC 之间的信任通道netdom verify DC01 /domain:corp.example.com输出会显示「安全通道验证成功」或具体错误。如果失败说明 DC 的机器账户密码不同步或者信任关系损坏。常见修复方法是netdom resetpwd重置机器账户密码然后重启 Netlogon 服务。参数说明/domain指定目标域/userD和/passwordD可以指定凭据。如果 verify 报「拒绝访问」先用域管理员账户登录再跑。6.2 PORTQRY确认 RPC 动态端口是否放通AD 复制走 RPC 动态端口默认 49152-65535很多防火墙只放通了 135 和 389忘了动态端口范围。用 PORTQRY 扫描portqry -n DC01 -e 135 portqry -n DC01 -r 49152:65535第一条确认 RPC 端点映射器135可达第二条扫描动态端口范围。如果 135 通但动态端口全被过滤复制会报「RPC 服务器不可用」。解决方法是让防火墙放通动态端口范围或者配置 AD 使用固定端口修改注册表HKLM\SYSTEM\CurrentControlSet\Services\NTDS\Parameters下的TCP/IP Port。参数说明-n指定目标-e指定单个端口-r指定范围。PORTQRY 是 Windows 自带工具不需要额外安装。如果输出显示「LISTENING」或「FILTERED」分别代表端口开放和被防火墙拦截。6.3 一个完整的排障顺序把上面 6 个工具串起来我一般按这个顺序走repadmin /replsummary→ 判断全局还是单点repadmin /showrepl DC01→ 定位具体失败链路dcdiag /test:dns /v /s:DC01→ 排除 DNS 根因事件查看器筛 1311/1864/1566 → 找历史时间点netdom verifyportqry→ 验证信任和端口repadmin /syncall /AdeP→ 强制同步并观察结果这套流程走完90% 的复制故障能定位到具体原因。剩下的 10% 通常是数据库层损坏或者 FSMO 角色问题需要更深入的 esentutl 或者 ntdsutil 操作那就不在「基本工具」的范围内了。注意所有 repadmin 和 dcdiag 命令都需要域管理员权限。在生产环境跑强制同步前先确认没有正在进行的架构变更操作避免冲突。希望帮到你。本文还有配套的精品资源点击获取