AD域控删除子域
该步骤适用于子域服务器已经无法通信,无法通过域控降级的方式正常删除的情况
一、完整子域删除流程
以管理员身份运行命令提示符(必需)
1. 启动ntdsutilntdsutil
2. 进入元数据清理metadata cleanup
3. 连接到父域DC
connections
connect to server dc01.sh-hllife.com.cn
quit
4. 进入操作目标选择select operation target
5. 在操作目标中重新连接
connections
connect to server dc01.sh-hllife.com.cn
quit
6. 列出所有域 (验证待删除目标)list domains
输出示例:
找到 2 个域
0 - DC=sh-hllife,DC=com,DC=cn
1 - DC=xintian,DC=sh-hllife,DC=com,DC=cn
7. 选择子域 (根据实际输出选择)select domain 1
输出示例:
没有当前站点
域 - DC=xintian,DC=Sh-hllife,DC=com,DC=cn
没有当前服务器
当前的命名上下文
8. 返回元数据清理菜单quit
9. 删除选定域remove selected domain
10. 验证删除结果
select operation target
list domains
输出示例:
找到 1 个域
0 - DC=sh-hllife,DC=com,DC=cn
remove selected domain报错
错误1:DsRemoveDsDomainW 错误 0x2162(因为还有主控这个域的域控制器,所以无法删除请求的域。)
在步骤7之后执行
1、列出站点,通常子域控制器在某个站点内(比如Default-First-Site-Namelist sites
输出示例:
找到 5 站点
0 - CN=颛桥,CN=Sites,CN=Configuration,DC=Sh-hllife,DC=com,DC=cn
1 - CN=泰州,CN=Sites,CN=Configuration,DC=Sh-hllife,DC=com,DC=cn
2 - CN=湖北,CN=Sites,CN=Configuration,DC=Sh-hllife,DC=com,DC=cn
3 - CN=绿地,CN=Sites,CN=Configuration,DC=Sh-hllife,DC=com,DC=cn
4 - CN=新天绿地,CN=Sites,CN=Configuration,DC=Sh-hllife,DC=com,DC=cn
2、请根据实际情况选择站点select site 4
3、列出该站点中的服务器,查找属于子域的服务器list servers in site
输出示例:
找到 1 服务器
0 - CN=DC01,CN=Servers,CN=新天绿地,CN=Sites,CN=Configuration,DC=Sh-hllife,DC=com,DC=cn
4、选择子域服务器select server 0
5、退出select operation target,回到metadata cleanupquit
6、在metadata cleanup下,删除选中的服务器remove selected server
输出示例:
正在从所选服务器传送/获取 FSMO 角色。
无法确定角色 PDC 的 FRS 所有者。
无法确定角色 Rid Master 的 FRS 所有者。
无法确定角色 Infrastructure Master 的 FRS 所有者。
“CN=DC01,CN=Servers,CN=新天绿地,CN=Sites,CN=Configuration,DC=Sh-hllife,DC=com,DC=cn”删除了,从服务器“dc01.sh-hllife.com.cn”
继续执行上面的步骤8
错误2:DsRemoveDsDomainW 错误 0x2162(因为还有主控这个域的域控制器,所以无法删除请求的域。)
1、启动ntdsutilntdsutil
2、进入分区管理partition management
3、连接到父域DC
connections
connect to server dc01.sh-hllife.com.cn
quit
4、列出页状对象list
页状对象是6
输出示例:
注意: 使用 International/Unicode 字符的目录分区名只能在加载了合适的字符和语言支持后才能正确显示
找到名称上下文 7
0 - CN=Configuration,DC=Sh-hllife,DC=com,DC=cn
1 - DC=Sh-hllife,DC=com,DC=cn
2 - CN=Schema,CN=Configuration,DC=Sh-hllife,DC=com,DC=cn
3 - DC=DomainDnsZones,DC=Sh-hllife,DC=com,DC=cn
4 - DC=ForestDnsZones,DC=Sh-hllife,DC=com,DC=cn
5 - DC=xintian,DC=Sh-hllife,DC=com,DC=cn
6 - DC=DomainDnsZones,DC=xintian,DC=Sh-hllife,DC=com,DC=cn
7、删除页状对象delete nc DC=DomainDnsZones,DC=xintian,DC=Sh-hllife,DC=com,DC=cn
输出示例:
partition management: delete nc DC=DomainDnsZones,DC=xintian,DC=Sh-hllife,DC=com,DC=cn
此操作已经成功。分区已经标记为从企业中删除。一段时间内它将在后台删除。
注意: 请不要用同名创建另一分区,直到服务拥有此分区的服务有足够的时间删除它。这将在此分区删除在整个林内复制时完成,而且拥有此分区的服务已经删除该分区内的所有对象。可以通过查阅每个服务器上的目录事件日志来验证分区删除是否完成。
重新执行上面完整的步骤删除子域,观察步骤9(remove selected domain)是否报错
必须的后续清理步骤
1. 清理DNS记录 (防止客户端继续尝试连接)
dnscmd /ZoneDelete xintian.sh-hllife.com.cn /DsDel /f
dnscmd /RecordDelete _msdcs.sh-hllife.com.cn dc.xintian A /f
dnscmd /RecordDelete _msdcs.sh-hllife.com.cn _ldap._tcp.xintian SRV /f
手动在DNS管理器各层级“_sites”中查找子域相关站点,进行删除
2. 清理AD站点对象
查询子域DC名称 - 使用实际服务器名替换dsquery * -filter "(&(objectClass=server)(dnsHostName=*xintian*))" -attr cn
执行清理 (使用上条命令查到的服务器名)dsrm "CN=<XINTIAN-DC>,CN=Servers,CN=Default-First-Site-Name,CN=Sites,CN=Configuration,DC=sh-hllife,DC=com,DC=cn" -noprompt
3. 强制刷新AD复制
repadmin /syncall dc01.sh-hllife.com.cn /A /e /d /P
repadmin /kcc dc01.sh-hllife.com.cn
4. 重启域控制器 (使所有变更生效,可选)shutdown /r /t 0 /f
验证脚本 (运行后检查无输出即成功)
1. 检查域对象dsquery * -filter "&(objectClass=domainDNS)(name=xintian)"
2. 检查DNS残留dnscmd /EnumZones | findstr "xintian"
3. 检查站点对象dsquery * -filter "(&(objectClass=server)(dnsHostName=*xintian*))"
错误处理方案 (若步骤9失败)
使用ADSIEdit强制删除
1. 运行 adsiedit.msc
2. 连接设置:
- 命名上下文: 默认命名上下文
- 服务器: dc01.sh-hllife.com.cn
3. 找到: DC=xintian,DC=sh-hllife,DC=com,DC=cn
4. 右键 → 删除 (勾选"强制删除")