删除子域必须同步清理元数据、DNS记录、信任关系和分区数据,否则将引发复制异常、登录失败或新DC部署失败;需先确认子域彻底离线、无FSMO角色、复制已中断,再通过NTDSUTIL依次执行remove selected server和remove selected domain,并手动删除DomainDnsZones等命名上下文及DNS资源,最后全面验证复制、信任与对象状态。
删除子域不是简单删掉几个对象,而是涉及林范围内的结构变更,必须同步清理元数据、dns记录、信任关系和分区数据,否则会引发复制异常、登录失败或新dc部署失败。
确认子域已彻底离线且无残留服务
执行任何清理前,确保子域所有域控制器均已强制卸载且不可恢复:物理服务器已下电或虚拟机已销毁、无快照回滚可能;DNS中不存在该子域的SOA、NS、A及_ldap._tcp.dc._msdcs等SRV记录;使用repadmin /replsum和dcdiag /test:replications确认主域中所有DC均报告子域DC“不可达”;检查该子域未托管任何FSMO角色——若托管,需先转移至父域DC。
使用NTDSUTIL执行子域元数据清理
在父域中一台正常运行的域控制器上,以企业管理员身份打开命令提示符(非PowerShell),依次执行:
-
ntdsutil→ 进入主界面 -
metadata cleanup→ 切换至元数据清理上下文 -
connections→ 进入连接管理 -
connect to server <ParentDC>→ 指定操作所依赖的在线父域DC(如dc01.contoso.com) -
quit→ 返回metadata cleanup层级 -
select operation target→ 启动目标选择流程 -
list sites→ 查找子域所在站点编号 -
select site <n>→ 进入该站点 -
list domains in site→ 列出该站点内所有域,识别子域编号 -
select domain <m>→ 选中待删子域 -
list servers in site→ 显示该子域所有DC -
select server <k>→ 逐台选中并执行remove selected server - 全部DC清理完毕后,返回
select operation target,执行remove selected domain
手动清理关联分区与DNS资源
NTDSUTIL不会自动删除子域对应的应用程序目录分区,需进入分区管理进一步处理:
- 在
metadata cleanup模式下输入quit两次,回到NTDSUTIL主界面 - 输入
partition management→list→ 找到形如DC=child,DC=parent,DC=com和DC=DomainDnsZones,DC=child,DC=parent,DC=com的NC(命名上下文) - 对每个目标NC执行
delete nc <完整DN>(例如delete nc DC=child,DC=parent,DC=com) - 登录DNS服务器,手动删除子域正向/反向查找区域、委派记录、所有主机A记录及SRV记录
验证与后续收尾
清理完成后立即验证关键状态:
- 用
repadmin /showrepl确认父域内复制无错误,且不再出现子域DC名称 - 在“Active Directory 域和信任关系”中检查父域属性,确认子域信任已消失
- 在“Active Directory 站点和服务”中确认子域DC的服务器对象、NTDS Settings对象、站点链接均不存在
- 重启所有域控制器后,运行
dcdiag /v全量检测AD健康状况 - 更新组策略对象(GPO)中所有指向子域的路径、脚本位置或WMI筛选器


















