AD域控制器元数据清理是修复AD复制拓扑的关键操作,专用于永久离线且无法降级的DC;需确认其彻底离线、DNS无痕迹、不持FSMO角色且计算机账户存在;执行ntdsutil严格流程后须验证对象已墓碑化及全林复制正常。
ad域控制器元数据清理不是“删掉一个下线服务器”那么简单,而是修复active directory复制拓扑的关键维护操作。它专用于已永久离线、无法降级(如dcpromo失败)、又未被正常卸载的dc——这类dc的残留对象会阻塞复制、干扰新dc加入、甚至引发fsmo角色冲突。
清理前必须确认的三件事
跳过任一验证,操作可能失败或引发连锁故障:
- 目标DC彻底离线且不可恢复:物理关机/虚拟机已删除,无快照可回滚;网络中无法ping通,389端口不可达(可用telnet测试)
- DNS中无任何痕迹:用nslookup -type=all _ldap._tcp.dc._msdcs.你的域名检查SRV记录;同时查A记录,确保正向查找区域和_msdcs子域中均无该DC条目
- 它不持有任何FSMO角色,且计算机账户仍存在:运行netdom query fsmo确认所有角色已在其他健康DC上;在“Active Directory 用户和计算机”中打开“域控制器”OU,确认该DC的计算机对象还在——若已被手动删掉,ntdsutil将静默找不到目标
标准命令流程(逐行输入,区分大小写)
在一台正常运行的域控制器上,以企业管理员身份打开命令提示符(非PowerShell),严格按顺序执行:
- ntdsutil
- metadata cleanup
- connections
- connect to server 当前可用DC的FQDN(例如:connect to server dc02.contoso.com)
- quit(返回 metadata cleanup 上下文)
- list domains → 记下目标DC所在域编号(如[0] contoso.com)
- select domain 0
- list sites → 记下其所在站点编号(如[0] Default-First-Site-Name)
- select site 0
- list servers in site → 找到待清理DC的编号(如[2] old-dc.contoso.com)
- select server 2
- remove selected server → 系统提示两次,均输入yes(小写,不能输YES或Y)
成功后显示 “Server reference removed successfully.”,表示NTDS Settings对象、复制连接、站点引用等均已清除。
清理后必须做的验证动作
变更需通过AD复制同步全林,不能只看执行结果:
- 等待15分钟后,在另一台DC上运行:
repadmin /showobjmeta "dc03.contoso.com" "CN=old-dc,CN=Servers,CN=Default-First-Site-Name,CN=Sites,CN=Configuration,DC=contoso,DC=com"
确认该对象状态为 “Deleted” 或 “Tombstoned” - 运行repadmin /replsummary和dcdiag /test:replications,确保所有存活DC之间复制状态均为Success,无持续失败项
- 再次检查DNS管理器,确认正向查找区域和_msdcs.你的域名下,已无该DC的A记录、SRV记录(特别是_ldap._tcp.dc._msdcs)
替代方案:图形界面方式(推荐给新手)
如果你安装了RSAT或使用Windows Server自带的管理工具,可跳过命令行:
- 打开“Active Directory 用户和计算机” → 展开对应域 → 进入“Domain Controllers”OU
- 右键待清理DC的计算机对象 → 选择“删除” → 勾选“此域控制器永久脱机,不能再使用DCPROMO降级”
- 点击“删除”,系统将自动完成元数据清理(仅适用于Windows Server 2008及以上版本)
- 注意:若此前已启用“防止对象意外删除”,需先右键该计算机对象 → “属性” → “对象”选项卡 → 取消勾选“保护对象,防止意外删除”

















