必须先降级再卸载AD域服务,降级前需通过dcdiag/repadmin健康检查、确认不持有FSMO角色、DNS指向其他正常DC;PowerShell降级须用最小安全参数,禁用-SkipPreChecks;图形界面勿误勾“最后一个DC”;降级后须手动清理站点和服务、DNS中的残留记录。
不能直接删掉 active directory 域服务 角色,必须先降级(demote),再删功能;跳过验证或强行用 dism 卸载会卡在启动、蓝屏或留下“幽灵dc”。
降级前必须确认的三项健康状态
没跑通这三步就点“降级”,大概率失败或引发复制中断:
- 运行
dcdiag /e /v和repadmin /replsum,所有测试项(如Advertising、KnowsOfRoleHolders)必须显示passed,不能有failed或warning - 执行
netdom query fsmo,确认目标 DC **不持有任何 FSMO 角色**;若返回含该服务器名,必须先用Move-ADDirectoryServerOperationMasterRole转移 - 检查 DNS 客户端设置:本机 IPv4 的首选 DNS 必须指向其他正常 DC,不能是自己;否则降级后立即无法解析域名
Uninstall-ADDSDomainController 的关键参数与避坑点
PowerShell 是最可控的方式,但参数组合错一个就可能跳过校验或残留元数据:
- 正常场景用最小安全集:
Uninstall-ADDSDomainController -LocalAdministratorPassword (ConvertTo-SecureString "P@ss123" -AsPlainText -Force) -Force -RemoveApplicationPartitions -RemoveDNSDelegation -
-ForceRemoval仅用于宕机/失联 DC,且必须配合后续人工元数据清理;误加会导致其他 DC 认为它还在,持续尝试复制 -
-RetainDCMetadata不要加——除非你明确打算立刻重装 DC 并复用原 SID;日常降级必须让 AD 彻底“忘记”它 - 别用
-SkipPreChecks:它绕过所有健康检查,等于把刹车拆了踩油门
图形界面降级时最容易忽略的两个勾选项
服务器管理器里点几下看似简单,但默认设置会埋雷:
- “降级此域控制器”对话框中,不要勾选“域中的最后一个域控制器”,除非你真只剩这一台且已确认无其他 DC 存在;误勾将触发强制清理逻辑,可能误删整个域元数据
- “设置本地管理员密码”那页,输的密码必须满足复杂度策略(大小写字母+数字+符号),否则降级中途报错退出,且不会回滚
- 点击“降级”后过程不可逆,系统自动重启;重启后登录的是本地
Administrator账户,不是域账户
降级完成后必须手动清理的三处残留
服务器重启变成员工机 ≠ AD 已彻底删除它;不清理就会出现“站点和服务里还显示它”“DNS 里一堆 404 SRV 记录”:
- 在任意正常 DC 上打开
Active Directory 站点和服务→ 展开对应站点 →Servers→ 找到该机器 → 右键其下的NTDS Settings→ 选择“删除”(不是删服务器节点本身) - 进
DNS 管理器→ 依次展开_msdcs.域名、_sites、_tcp、_udp→ 删除所有含该服务器主机名的SRV、A、CNAME记录 - 最后跑一次
repadmin /replsum和dcdiag /test:dns,确认其余 DC 复制正常、无ERROR_BAD_NETPATH类错误
真正麻烦的从来不是点几下按钮,而是降级后没人去看 Active Directory 站点和服务 里那个还亮着的服务器图标,以及 DNS 中那些没人认领的 SRV 记录——它们不会报错,但会让下一次新加 DC 或迁移 FSMO 变得异常艰难。

















