平滑降级域控制器必须分三步:健康验证→安全降级→主动清理;需运行dcdiag/repadmin通过全部测试、确认不持fsmo角色、dns指向其他正常dc,再用powershell执行uninstall-addsdomaincontroller(禁用-skipprechecks),最后手动清理ad站点、服务及dns中残留记录。
平滑降级域控制器的关键是让 ad 系统“知情、有序、可逆地放手”,而不是强行切断。整个过程必须分三步走:健康验证 → 安全降级 → 主动清理,跳过任一环节都可能留下幽灵 dc、dns 异常或复制失败。
降级前必须确认的三项健康状态
这三项不通过,点击降级等于启动故障倒计时:
- 运行 dcdiag /e /v 和 repadmin /replsum,所有测试项(如 Advertising、KnowsOfRoleHolders、RepLatency)必须显示 passed,不能有 failed 或 warning
- 执行 netdom query fsmo,确认目标 DC 不持有任何 FSMO 角色;若返回中含该服务器名,须先用 Move-ADDirectoryServerOperationMasterRole 转移
- 检查本机 IPv4 DNS 设置:首选 DNS 必须指向其他正常 DC,绝不能设为自己;否则降级后立即无法解析域名,导致后续步骤中断
选择合适的方式执行降级
图形界面和 PowerShell 各有适用场景,核心是避免绕过校验:
- 推荐使用 PowerShell 执行标准降级:
Uninstall-ADDSDomainController -LocalAdministratorPassword (ConvertTo-SecureString "P@ss123" -AsPlainText -Force) -Force -RemoveApplicationPartitions -RemoveDNSDelegation
禁用 -SkipPreChecks,它会跳过全部前置验证 - 图形界面操作时注意两个关键点:
– 不要勾选“域中的最后一个域控制器”,除非你已确认全网只剩这一台且无其他 DC 存在
– 输入的本地管理员密码必须满足复杂度策略(大小写字母 + 数字 + 符号),否则中途报错且不回滚 - 仅当 DC 已宕机、失联或反复提示“无法联系源域控制器”且无法修复时,才启用 -ForceRemoval;启用后必须人工补做元数据清理,否则其他 DC 仍持续尝试向它复制
降级后必须手动清理的三处残留
服务器重启变成本地工作组机器 ≠ AD 已彻底遗忘它。以下清理必须在其他正常 DC 上完成:
- 打开 Active Directory 用户和计算机 → 展开“Domain Controllers”OU → 确认该服务器对象已不存在;若还在,右键删除,并勾选“此域控制器永久脱机,不能再使用 DCPROMO 降级”
- 打开 Active Directory 站点和服务 → 展开对应站点 → Servers → 找到该服务器 → 展开其下的 NTDS Settings → 右键 → “删除”
- 打开 DNS 管理器 → 依次进入正向查找区域下的 _msdcs.域名、_sites、_tcp、_udp 文件夹 → 手动删除所有包含该服务器名的 SRV、A、CNAME 记录
验证清理是否真正完成
最后一步不是可选项,而是闭环确认:
- 在任意正常 DC 上运行 repadmin /replsum,确认无复制错误、延迟归零
- 运行 dcdiag /test:dns,确保所有 DNS 测试项 passed
- 尝试从客户端解析域内其他服务(如 gc._msdcs、_ldap._tcp.dc._msdcs),确认响应正常且不含已下线 DC 的记录











