系统学习 Windows 学习路径:从 CMD 到 PowerShell、系统网络,再到 WSL 与 Server

dcdiag

域控制器健康检查工具,定位 DNS、复制、服务与广告故障。

补充说明

dcdiag 对域控制器逐项运行内置测试,覆盖连通性、DNS 注册、复制、SYSVOL/NETLOGON 共享、FSMO 与关键服务,是 DC 上线验收和排障的第一站。默认检查本机,也可用 /s: 指定其他 DC。

需要在域控上以管理员身份运行,且已安装 AD DS 角色;在成员机上通过 RSAT 远程检查时,应始终带 /s:DC01。它本身只做诊断,只有 /fix 会写入修复,因此不要把它当成无损命令。

Windows Server 2016+ 行为基本一致。CMD 与 PowerShell 都能调用,但输出是文本;需要结构化对比时,把结果重定向到文件,再结合 repadmin 和事件日志判断。

常用示例

# 基础检查:连通性、关键服务、广告与响应
C:\> dcdiag /test:connectivity /test:services /test:advertising /v

# DNS 是域控排障最高频项,单独跑并保留详细输出
C:\> dcdiag /test:dns /v

# 指定 DC,检查复制、SYSVOL 与 NETLOGON 共享
C:\> dcdiag /s:DC01 /test:replications /test:sysvolcheck /test:netlogons

# 全量测试写入文件,便于与上次结果对比
C:\> dcdiag /v > C:\Temp\dcdiag-%COMPUTERNAME%.txt

# 影响范围:/fix 会修改本机 DNS 注册、SPN 等配置,可能影响全域解析
# 备份/回滚:先跑不带 /fix 的全量测试留档,并确认系统状态备份可用;必要时用备份或快照回滚
C:\> dcdiag /fix

易错点与排错

相关命令

参考链接

读完自测

  1. 在成员服务器上直接执行 dcdiag,为什么大多数测试会失败?
  2. dcdiag /fix 为什么不能作为首选排错手段?
  3. dcdiag 全部通过,能否说明域内复制一定健康?
答案
  1. 它默认检查本机,而成员机不是域控;应加 /s:DC01 或到 DC 上运行。
  2. 它会按内置规则修改 DNS 注册、SPN 等配置,可能扩大影响;应先留档、确认根因并准备回滚。
  3. 不能,它只做单机项目检查;复制延迟和对象冲突要看 repadmin /replsummary 与 /showrepl。
微信小程序码:扫码打开命令速查小程序

小程序版

微信扫码,随时查命令