AD 域控制器故障后的角色接管与恢复
在 Active Directory 中,并不存在传统意义上永久固定的“主域控”和“备域控”。大多数目录写入采用多主复制;通常所谓“主域控”是指持有 FSMO 角色、承担首选 DNS 或被业务重点依赖的域控制器。处理故障时,目标不是简单“提升备机”,而是恢复目录、DNS、时间和 FSMO 角色的完整可用性。
高风险提示:FSMO 夺取(Seize) 只适用于原角色持有者已永久离线且不会重新接入域的情况。若原服务器仍可恢复,应优先执行正常角色转移(Transfer)。操作前必须保留系统状态备份或可验证的恢复方案。
一、先判断是哪种场景
场景 A:原角色持有者仍在线
使用正常的 FSMO 角色转移。转移过程会与原服务器通信,风险较低,也支持后续重新规划。
场景 B:原角色持有者永久损坏
只有在确认旧服务器不会再次上线后,才在健康域控上夺取角色,并清理旧域控元数据、DNS 记录和复制连接。
场景 C:只是某台域控不可访问
不要急于夺取角色。先排查 DNS、时间偏差、站点链路、RPC、防火墙、磁盘空间和复制积压。很多“域控挂了”实际是网络或名称解析问题。
二、接管前检查
- 确认至少一台可用域控同时承载 DNS,并能解析域内 SRV 记录。
- 检查当前 FSMO 角色位置、全局编录、站点和复制拓扑。
- 确认健康域控系统时间正确,PDC Emulator 接管后需要配置可靠上游时间源。
- 保存系统状态备份;虚拟机快照不能替代受支持的 AD 恢复方案。
- 检查事件查看器中的 Directory Service、DNS Server、DFS Replication 和 System 日志。
- 记录旧服务器名称、IP、站点、DNS 角色、证书服务及其他附加服务。若旧机还承担 DHCP、CA、文件共享等,FSMO 接管不会自动迁移这些业务。
netdom query fsmo
repadmin /replsummary
repadmin /showrepl
dcdiag /e /c /v
Get-ADDomainController -Filter * | Format-Table HostName,Site,IsGlobalCatalog,IPv4Address
三、健康场景下转移 FSMO
在目标域控上使用具备相应权限的账户执行:
Import-Module ActiveDirectory
Move-ADDirectoryServerOperationMasterRole `
-Identity "DC02" `
-OperationMasterRole SchemaMaster,DomainNamingMaster,PDCEmulator,RIDMaster,InfrastructureMaster `
-Confirm:$true
不同角色所需权限不同,Schema Master 与 Domain Naming Master 属于林级角色,PDC Emulator、RID Master 和 Infrastructure Master 属于域级角色。多域林中不要把其他域的域级角色错误迁到当前域控。
完成后验证:
netdom query fsmo
Get-ADForest | Select-Object SchemaMaster,DomainNamingMaster
Get-ADDomain | Select-Object PDCEmulator,RIDMaster,InfrastructureMaster
四、永久故障时夺取 FSMO
仅当旧角色持有者确定无法恢复时使用 -Force。夺取完成后,旧服务器不得直接重新开机接入原网络;应先隔离、重装或按照受支持流程清理。
Move-ADDirectoryServerOperationMasterRole `
-Identity "DC02" `
-OperationMasterRole SchemaMaster,DomainNamingMaster,PDCEmulator,RIDMaster,InfrastructureMaster `
-Force `
-Confirm:$true
不要因为一次网络中断就夺取角色。错误地让旧角色持有者重新上线,可能造成 RID、时间、密码更新或目录一致性问题。
五、故障域控的后续清理
- 在“Active Directory 用户和计算机”与“站点和服务”中确认故障域控对象和 NTDS Settings 的处理状态。
- 清理 DNS 中旧主机的 A/AAAA、CNAME 以及
_msdcs、_sites、_tcp、_udp下的失效 SRV 记录。 - 检查复制连接是否还指向旧域控。
- 若旧域控承担 DNS、DHCP、证书服务、文件共享或登录脚本,分别完成业务迁移。
- 更新监控、备份、运维文档和依赖旧 IP/主机名的设备配置。
元数据清理应使用当前 Windows Server 对应的受支持管理方式。若不确定清理范围,先导出对象和 DNS 记录,不要直接批量删除。
六、PDC Emulator 与时间源
林根域的 PDC Emulator 通常应同步可靠的外部 NTP,其余域成员沿域层级同步。接管后检查:
w32tm /query /source
w32tm /query /configuration
w32tm /monitor
修改时间配置后,应再次验证偏差和事件日志。Kerberos 对时间偏差敏感,时间异常可能表现为登录失败、票据错误或复制异常。
七、完整验证清单
netdom query fsmo显示角色均在预期服务器。repadmin /replsummary没有持续复制失败。dcdiag /e /c的关键测试通过,遗留告警已解释并记录。- 域客户端可以登录、修改密码、应用组策略并解析域内记录。
- 新建测试用户或组后,可在其他健康域控查询到。
- DNS 正向与反向解析正常,域 SRV 记录指向健康域控。
- 时间源、全局编录、SYSVOL 与 NETLOGON 共享正常。
- 监控和备份已经覆盖新的角色持有者。
八、不要忽略恢复与回退
FSMO 角色转移可以再次转回,但“夺取”不是普通回退操作。最可靠的方案是在演练环境中验证系统状态恢复、裸机恢复和域控重新部署流程,并定期执行恢复演练,而不只是确认备份任务显示成功。