本文围绕 AD 域控制器在生产环境中的常见故障现象与排查方法展开内容整理自 PowerShell 中文社区团队在企业身份基础设施领域的生产环境交付与故障处置记录。作者邓鹏PowerShell 中文社区创始人深圳市研创信息科技有限公司 CTO51CTO 认证讲师长期从事企业级身份管理与邮件系统运维主导过多域林架构迁移与域控灾难恢复项目。文中的命令与方法均来自实际项目执行前请确认已有可用备份与回滚方案。以下从排查的整体顺序说起。目录一、先建立排查顺序90% 的域控故障都在这四层里二、工具箱六条命令解决八成问题三、复制类故障3.1 复制失败的通用定位流程3.2 按错误码归因3.3 墓碑超期与残留对象四、认证与登录类故障4.1 信任关系失败4.2 时间偏差导致的 Kerberos 失败4.3 账号大面积锁定4.4 SPN 重复与服务认证失败五、DNS 类故障六、SYSVOL 与组策略类故障七、目录数据库与服务类故障八、性能类故障登录慢、LSASS 高占用九、灾难场景域控全灭与误删对象十、十条操作红线十一、事件 ID 速查表十二、写在最后一、先建立排查顺序90% 的域控故障都在这四层里域控故障看起来千奇百怪但排查顺序其实是固定的。顺序错了你会在错误的方向上耗费一整天。正确的顺序是自下而上四层层级检查什么典型现象第 1 层DNSDC 能否解析自己与伙伴、SRV 记录是否完整客户端找不到域控、复制报 8524、加域失败第 2 层时间PDC 与外部源、各 DC 之间的时间偏差Kerberos 认证失败、复制报 -2146893022第 3 层复制各分区在 DC 之间的同步状态新建用户某台 DC 查不到、密码改了不生效第 4 层服务与数据NTDS、Netlogon、DFSR、KDC 服务与数据库登录卡死、组策略不生效、SYSVOL 打不开为什么 DNS 一定排第一因为 AD 的一切都靠 DNS 定位——客户端找 DC 靠 SRV 记录DC 找复制伙伴靠 CNAME 与 SRVKerberos 找 KDC 也靠 DNS。DNS 一错上面三层全部连带出错你会看到一堆互相矛盾的报错。除了分层还有两个提高效率的习惯问清时间线“什么时候开始的、之前改过什么”。域控故障几乎都有触发事件——打了补丁、加了台设备、改过防火墙、恢复过快照、动过 DNS。找到变更点等于找到一半答案对比法环境里只要还有第二台健康 DC就把它当对照组。同一客户端分别对两台 DC 做认证、同一对象在两台 DC 上查属性差异点就是故障点。二、工具箱六条命令解决八成问题# 1. 全量健康体检升级、故障都先跑这个dcdiag/v/e/f:c:\temp\dcdiag.log# 2. DNS 专项含 SRV 记录、动态更新、转发器dcdiag/test:dns/e/v# 3. 复制状态总览所有分区、所有 DC 的错误计数repadmin/replsummary# 4. 逐 DC 看入站复制伙伴与最近成功时间repadmin/showrepl# 5. 客户端视角的 DC 定位把 域名 换成你的域nltest/dsgetdc:corp.example.com/force# 6. 时间同步状态w32tm/query/status w32tm/query/source补充几条定位精度更高的# Kerberos 票据清理与查看klist purge klist# 机器账号安全通道验证与修复Test-ComputerSecureChannel-VerboseTest-ComputerSecureChannel-Repair-Credential(Get-Credential)# 查最近 24 小时目录服务日志中的错误与警告Get-WinEvent-LogNameDirectory Service-MaxEvents 200|Where-Object{$_.LevelDisplayName-in(错误,警告,Error,Warning)}|Select-ObjectTimeCreated,Id,LevelDisplayName,Message|Format-Table-AutoSize三、复制类故障复制的症状往往很隐蔽没有报错但在这台 DC 上新建的用户另一台上查不到、“改了密码某台机器登不上”。等到有人报障通常已经积累了好几天。3.1 复制失败的通用定位流程# 第一步拿到具体错误码关键不要跳过repadmin/replsummary repadmin/showrepl*/csv c:\temp\repl.csv# 第二步查看复制队列是否积压repadmin/queue# 第三步手动触发一次复制观察是否成功repadmin/syncall/APeD dc01.corp.example.com dccorp,dcexample,dccom# 第四步强制 KCC 重算拓扑repadmin/kcc# 第五步PowerShell 视角查最近失败记录Get-ADReplicationFailure-Target*-Scope Server定位逻辑先确认是所有 DC 都失败还是个别 DC 失败。全部失败问题在 DNS 或时间这类全局因素个别失败问题在网络、防火墙端口、单机服务或该 DC 的对象权限。3.2 按错误码归因repadmin /showrepl输出的最后一个错误码就是答案按表对号入座错误码含义高概率原因处理动作8524DNS 查询失败缺少 CNAME 记录、DNS 指向错误、_msdcs区域异常dcdiag /test:dns定位ipconfig /registerdns 重启 Netlogon 重新注册 SRV-2146893022目标主体名称不正确两台 DC 时间偏差超出 Kerberos 容忍默认 5 分钟校正时间见 4.2必要时重置 DC 机器账号密码1722RPC 服务器不可用网络不通、防火墙拦截 RPC 动态端口、对端 DC 服务未启动先测 135 端口与动态端口范围检查防火墙与站点子网确认对端 NTDS 服务运行8453复制访问被拒绝DC 对象权限异常、安全通道损坏检查 NTDS Settings 对象 ACL、域控组成员重置安全通道5访问被拒绝权限策略被组策略误改、UAC 限制检查默认域控策略中的用户权限分配1256远程系统不可用对端 DC 宕机或正在重启确认对端状态必要时进入元数据清理流程8614 / 2042墓碑超期、无法复制已删除对象长期离线超过墓碑生命周期默认 180 天该 DC 已不可恢复必须强制降级 元数据清理后重建8606对象属性不足之前元数据清理不彻底残留半成品对象用repadmin /showobjmeta定位清理残留对象1988长期未收到复制信息复制链路静默中断可能无报错按 3.1 流程逐层排查3.3 墓碑超期与残留对象当 DC 离线时间超过墓碑生命周期msDS-DeletedObjectLifetime默认 180 天它会带着已删除对象重新上线产生残留对象Lingering Object污染整个域。判定与处理# 查看墓碑生命周期配置Get-ADObjectCNDirectory Service,CNWindows NT,CNServices,CNConfiguration,DCcorp,DCexample,DCcom-Properties msDS-DeletedObjectLifetime# 检查并清除残留对象先审计不要直接改repadmin/removelingeringobjects/advisory_mode dc02.corp.example.com DCcorp,DCexample,DCcom reference_DC_GUID# 确认无误后再执行实际删除repadmin/removelingeringobjects dc02.corp.example.com DCcorp,DCexample,DCcom reference_DC_GUID注意/removelingeringobjects只能在非权威一侧执行且必须先跑 advisory 模式核对影响范围。执行前完整备份操作不可逆对象删除后进回收站但属性可能已丢失。四、认证与登录类故障4.1 信任关系失败现象成员机提示此工作站和主域间的信任关系失败用户无法登录。# 在成员机上定位Test-ComputerSecureChannel-Verbose# 返回 False 即安全通道损坏nltest/sc_verify:corp.example.com# 验证安全通道nltest/sc_reset:corp.example.com# 重置安全通道需本地管理员# 或直接用 PowerShell 修复机器密码Reset-ComputerMachinePassword-ServerDC01-Credential(Get-Credential)常见诱因虚拟机从快照恢复、机器长时间离线超过机器密码更新周期默认 30 天、系统盘克隆后 SID/密码不同步、域控侧的计算机账号被误删。修复后如仍失败删除并重新加域是最后的兜底手段。4.2 时间偏差导致的 Kerberos 失败这是最容易被误判为域控坏了的故障——实际只是时间差了 6 分钟。# 确认当前时间源与偏差w32tm/query/source w32tm/query/status w32tm/stripchart/computer:dc01.corp.example.com/samples:5# 在 PDC 上重新指定外部时间源并同步w32tm/config/manualpeerlist:ntp.aliyun.com,0x8/syncfromflags:manual/reliable:yes/updateRestart-Servicew32time w32tm/resync/force# 成员机/其他 DC 走域层级w32tm/config/syncfromflags:domhier/updateRestart-Servicew32time w32tm/resync根因常在这三处PDC 角色迁移后外部时间源没跟着走、虚拟机宿主机的时钟同步VMware Tools 时间同步覆盖了域层级、防火墙拦了 UDP 123。4.3 账号大面积锁定# 快速列出锁定账号Search-ADAccount-LockedOut|Select-ObjectName,SamAccountName,LastLogonDateUnlock-ADAccount-Identityzhangsan# 从 PDC 的事件日志里找锁定来源4740 含调用方计算机名Get-WinEvent-LogName Security-FilterXPath*[System[EventID4740]]-MaxEvents 50|Select-ObjectTimeCreated,{nUser;e{$_.Properties[0].Value}},{nCaller;e{$_.Properties[1].Value}}锁定通常是某处还用着旧密码计划任务、IIS 应用池身份、服务账号、手机邮件客户端、映射的旧凭据。解锁只是止血找到持续重试的源头才算解决。建议开启账号锁定事件审计并保留 4740 至少 30 天。4.4 SPN 重复与服务认证失败现象某服务SQL、IIS、文件共享用域账号启动后报 Kerberos 认证失败事件日志出现 4769 失败或 KRB_AP_ERR_MODIFIED。# 检查全域重复 SPN重点看输出中的重复项setspn-X-F# 查看某账号注册的所有 SPNsetspn-L svc_sql# 删除错误/重复的 SPN 后重新注册setspn-D MSSQLSvc/sql01.corp.example.com:1433 svc_sql setspn-A MSSQLSvc/sql01.corp.example.com:1433 svc_sqlSPN 重复几乎都发生在机器名被重用旧机器未清理、克隆虚拟机、同名重装时。清理时务必确认 SPN 归属的正确账号删错会导致其他服务认证中断。五、DNS 类故障DNS 问题的表现最不像 DNS加域失败、登录慢、复制报错、组策略不生效都可能是它。第 1 步验证 SRV 记录是否齐全nslookup-typesrv _ldap._tcp.dc._msdcs.corp.example.com nslookup-typesrv _kerberos._tcp.dc._msdcs.corp.example.com nslookup-typesrv _ldap._tcp.pdc._msdcs.corp.example.com任何一条查不到或缺少某个 DC说明该 DC 的 SRV 注册失败ipconfig/registerdnsRestart-Servicenetlogon dcdiag/test:dns/v第 2 步检查_msdcs委托_msdcs.林根域名必须是独立的 AD 集成区域或正确的委派指向林根域的 DC。这个区域丢了跨域复制与 Kerberos 会陆续失效。重新创建区域后等待 SRV 自动注册或手动在 Netlogon.dns 中导入记录。第 3 步动态更新失败事件 4013 / 40154013DNS 服务等待 AD 完成初始同步AD 集成区域无法加载 → 通常是复制问题先修复制4015DNS 服务从 AD 收到严重错误区域复制失败→ 检查该区域的复制范围与权限。第 4 步陈旧记录与解析错乱# 查看某条 A 记录的时间戳判断是否为残留Get-DnsServerResourceRecord-ZoneNamecorp.example.com-Nameold-dc01-RRType A# 清理已退役 DC 的 A / SRV / CNAME 记录后确认老化与清理策略Get-DnsServerZoneAging-ZoneNamecorp.example.comSet-DnsServerScavenging-ScavengingState$true-ScavengingInterval 7.00:00:00-ApplyOnAllZones第 5 步客户端仍指向旧 DC这是登录慢、组策略不生效的高频根因。DHCP 作用域选项 006、静态配置的服务器、网络设备的管理口逐项核对 DNS 指向。客户端侧可用nltest /dsgetdc:域名确认实际定位到了哪台 DC。六、SYSVOL 与组策略类故障6.1 SYSVOL 未共享 / 打不开# 检查共享是否正常net share|findstr SYSVOL dfsrmig/getmigrationstate# 确认所有 DC 迁移状态一致dfsrdiag ReplicationState# 查看 DFSR 复制状态dfsrdiag pollad# 强制 DFSR 重新读取 AD 配置若\\corp.example.com\SYSVOL无法访问先确认 DFSR 服务与 DFS Replication 日志事件 4004、4012、5002再确认是否卡在 FRS→DFSR 迁移的中间状态。迁移卡住时不要反复切换 state必须先让所有 DC 复制正常、状态收敛。6.2 组策略不生效gpresult/h c:\temp\gpo.html/f# 客户端实际应用的 GPO 报告gpupdate/force dcdiag/test:sysvolcheck/test:advertising排查顺序先看 gpresult 报告里 GPO 有没有被拒绝或未应用→ 检查安全筛选与 WMI 筛选 → 检查 GPO 链接的站点/域/OU 层级与启用状态 → 最后才怀疑 SYSVOL 版本号不一致GPT.ini 的 Version 号在各 DC 上不同说明 SYSVOL 复制滞后。6.3 SYSVOL 内容不一致# 对比两台 DC 上同一 GPO 的版本号与文件时间Get-ChildItem\\dc01\SYSVOL\corp.example.com\Policies|Select-ObjectName,LastWriteTimeGet-ChildItem\\dc02\SYSVOL\corp.example.com\Policies|Select-ObjectName,LastWriteTime确认不一致后走 DFSR 非权威恢复D2或权威恢复D4。权威恢复会覆盖其他 DC 的 SYSVOL执行前必须选定内容正确的那台并完整备份操作步骤严格按官方流程不要凭记忆敲。七、目录数据库与服务类故障7.1 NTDS 服务启动失败先看事件日志的 ESENT 记录Get-WinEvent-LogNameDirectory Service-MaxEvents 100|Where-Object{$_.Id-in(467,474,1013,1393,2103)}|Select-ObjectTimeCreated,Id,Message|Format-ListGet-WinEvent-LogName Application-MaxEvents 100|Where-Object{$_.ProviderName-like*ESENT*}|Select-ObjectTimeCreated,Id,Message|Format-List处理思路磁盘空间NTDS 所在卷剩余空间不足会直接导致服务起不来先查空间数据库完整性检查需停止 NTDS 服务net stop ntds ntdsutilfilesintegrityquitquit# 如需离线整理减小数据库体积耗时较长需预留停机窗口ntdsutilfilescompact to c:\tempquitquitnetstartntds日志文件损坏优先用备份做权威/非权威恢复不要手工删除.log文件——那会导致数据库不一致。7.2 USN 回滚最危险的隐性故障现象DC 从快照/镜像恢复后某些对象复活或属性回退复制出现 8614、8606甚至整个域出现重复对象。原因AD 用 USN更新序列号标识变更顺序虚拟机快照回滚会让 USN “倒退”其他 DC 认为这是旧数据导致复制逻辑错乱。处理立即将该 DC 从网络隔离断网或禁用网卡防止污染扩散若环境有其他健康 DC强制降级该 DC → 元数据清理 → 重新提升为新 DC若它是唯一 DC只能做权威恢复authoritative restore恢复后提升所有对象的版本号并强制全量复制恢复完成后务必确认repadmin /showrepl全绿、dcdiag无复制错误、抽查关键对象属性正确。这条故障最重要的不是处理而是预防绝不对运行中的域控做快照回滚。虚拟化平台上的 DC 要用克隆后 sysprep 重建或受支持的 DC 克隆流程而不是快照回滚。八、性能类故障登录慢、LSASS 高占用8.1 登录慢按客户端 → 网络 → DC三段定位# 客户端侧DC 定位耗时与所选 DCnltest/dsgetdc:corp.example.com# 检查组策略处理耗时Get-WinEvent-LogNameMicrosoft-Windows-GroupPolicy/Operational-MaxEvents 30|Select-ObjectTimeCreated,Id,Message|Format-Table-AutoSize高频原因客户端 DNS 指向了不可达的旧 DC、跨站点定位站点与子网未正确关联、组策略数量过多或含大量软件安装策略、漫游配置文件/主目录指向慢速存储。8.2 LSASS 高 CPU / LDAP 查询风暴# 找出开销最大的 LDAP 查询事件 1644需先开启Field Engineering诊断级别Get-WinEvent-LogNameDirectory Service-MaxEvents 50|Where-Object{$_.Id-eq1644}|Select-ObjectTimeCreated,Message|Format-List常见根因应用写了无索引属性的查询如按description、extensionAttribute全表扫、分页查询未加过滤条件、某台应用服务器疯狂重试认证。处理方式为高频查询属性建索引需评估索引体积与写入开销、修正应用查询语句、必要时对该应用限流。九、灾难场景域控全灭与误删对象9.1 唯一 DC 宕机的恢复# 从系统状态备份做非权威恢复推荐先做非权威再按需权威恢复特定对象wbadmin get versions-backupTarget:E: wbadminstartsystemstaterecovery-version:10/26/2026-02:00-backupTarget:E:-authsysvol# 恢复后进入目录服务修复模式做权威恢复仅针对被误删的对象# 重启按 F8 进入 DSRM随后ntdsutilauthoritative restorerestore subtree OUSales,DCcorp,DCexample,DCcomquitquit关键前提备份时间必须在墓碑生命周期之内默认 180 天否则恢复出来的对象已被标记删除无法还原。9.2 误删对象已启用 AD 回收站直接从回收站还原完整保留属性与组成员关系Get-ADObject-FilterisDeleted -eq $true -and name -like *zhangsan*-IncludeDeletedObjectsRestore-ADObject-Identity对象DN未启用回收站只能走权威恢复或墓碑还原tombstone reanimation属性会丢失组关系需重建。这也是建议所有环境都启用 AD 回收站的原因——它是成本最低的一道保险。# 启用回收站不可逆需林内所有 DC 为 2008 R2 及以上Enable-ADOptionalFeature-IdentityCNRecycle Bin Feature,CNOptional Features,CNDirectory Service,CNWindows NT,CNServices,CNConfiguration,DCcorp,DCexample,DCcom-Scope ForestOrConfigurationSet-Target corp.example.com十、十条操作红线绝不对运行中的域控做快照回滚——USN 回滚是域级事故的起点不要在 DC 上安装无关角色与第三方软件IIS、Exchange、监控 Agent 尽量外置减少攻击面与排障干扰不要随手 seize FSMO原持有者在线时必须用 transfer不要手工编辑或删除ntds.dit、日志文件任何数据库操作前停服务并备份不要反复切换dfsrmig状态先修复制再等状态收敛repadmin /removelingeringobjects先跑 advisory 模式确认影响面再执行权威恢复前必须选定正确源并完整备份它会覆盖其他 DC 的数据任何高危变更前做系统状态备份并验证可恢复未验证过的备份不算备份元数据清理要清干净计算机账号、NTDS Settings、DNS 记录A/SRV/CNAME、站点内 Server 对象缺一个都会在后续引发复制错误变更要有记录谁、什么时候、改了什么、回滚点在哪。域控故障复盘时这份记录往往比日志更值钱。十一、事件 ID 速查表事件 ID日志源含义速查4013 / 4015DNS ServerAD 集成区域加载失败 / 区域复制严重错误4740Security账号被锁定含调用方计算机名4768 / 4769 / 4771SecurityTGT 请求 / 服务票据请求 / Kerberos 预认证失败5719System (Netlogon)启动时找不到可用域控5781 / 5782 / 5783System (Netlogon)动态 DNS 注册失败 / 成功 / 部分失败1126Directory Service建立与全局编录的安全连接失败1311Directory Service复制配置存在问题KCC 无法建立拓扑1566Directory Service所有 DC 复制均失败1864Directory Service复制延迟告警超过阈值未同步1988Directory Service长期未收到复制信息2089Directory Service备份间隔超期告警4004 / 4012 / 5002DFS Replication复制失败 / 因墓碑或 USN 停止 / SYSVOL 初始化失败1058 / 1030 / 1129GroupPolicy组策略读取失败 / 无法解析路径 / 无网络连接467 / 474Application (ESENT)数据库页校验错误 / 页写入失败事件 ID 的具体描述以微软官方文档与当前系统语言为准上表用于快速定位方向不作为判定的唯一依据。十二、写在最后写这篇的初衷很简单域控故障的排查从来不是知识不够而是顺序不对。同样的现象先查 DNS 的人十分钟解决先重装服务的人耗掉一夜。如果只能记住一句话那就是先分层、再对码、后动手。分层定位缩小范围错误码归因锁定根因最后才轮到执行处理动作。跳过前两步直接动手往往是把小故障做成大事故。关于作者 / 出品本文由 PowerShell 中文社区团队推出。作者邓鹏PowerShell 中文社区创始人深圳市研创信息科技有限公司 CTO西安交通大学计算机专业毕业51CTO 认证讲师2021 年度十大新锐讲师。社区团队承接企业底层 IT 基础设施的技术服务主要包括AD 域控的新建部署、跨林迁移、域名更换、跨境 RODC 部署、域信任关系修复、组策略深度排错、域控升降级与灾难恢复Exchange 邮件系统的版本升级迁移、数据库恢复、传输与安全排障VMware 平台迁移与 Citrix CVAD 云桌面部署、性能调优XSKY、华为、浪潮、深信服等分布式存储的故障定位与服务器 RAID 数据恢复NVIDIA B300 / H100 算力服务器的整机验收、NVLink 互联验证与长稳压力测试。同时提供系统迁移、内网安全加固、信创适配、PowerShell 自动化脚本定制与运维实战培训。服务按先评估、后动手的流程推进前期完成现状调研与风险评估交付环境健康检查报告、实施方案与完整回滚预案实施后提供验收文档生产环境的高危变更一律在备份与回滚方案确认后执行。技术服务不含硬件设备采购。完整版《AD 域控常见故障 FAQ 大全》与《AD 域控升级路线图》可在 PowerShell 中文社区官网查阅www.powershell.com.cn本文首发于 CSDN由 PowerShell 中文社区团队出品转载请注明作者邓鹏与出处。
阅读完成 · 觉得有帮助?