fsmo角色迁移核心是确认持有者并安全移交权限,而非升级服务器;需先用powershell或图形工具查清五角色归属,再依权限与复制状态,通过管理单元图形化转移或ntdsutil强制获取。
在 windows server 中查看和转移 fsmo 角色,核心是分清“谁在持有”和“怎么交出去”两步——不是升级服务器,而是把五个逻辑上唯一的操作权限,从一台域控制器(dc)安全地交给另一台已就位的 dc。
一、先确认当前五个角色各在谁手上
FSMO 角色分两类:林范围(全森林仅1个)和域范围(每个域各1个)。推荐用 PowerShell 一次性查全:
- 以管理员身份打开 PowerShell,运行:
Get-ADDomainController -Filter * | Select-Object Name,OperationMasterRoles - 若只关心本域,也可用图形方式:
打开「Active Directory 用户和计算机」→ 右键域名 → 「操作主机」→ 分别点开 PDC、RID、基础结构三个标签页查看 - 查林级角色(架构主控、域命名主控)需单独操作:
架构主控:注册 schmmgmt.dll 后加载「Active Directory 架构」管理单元 → 右键 → 「操作主机」
域命名主控:加载「Active Directory 域和信任关系」→ 右键根节点 → 「操作主机」
二、转移前必须满足的条件
转移不是点击即生效的操作,它依赖 AD 复制与权限协同:
- 目标 DC 必须已加入域、完成复制、且能被源 DC 正常通信(RPC 连通)
- 执行人账户权限要匹配角色级别:
架构主控 → Schema Admins + Enterprise Admins
域命名主控 → Enterprise Admins
其余三个(PDC、RID、基础结构)→ Domain Admins 即可 - 整个域内无复制错误(可用 repadmin /showrepl 检查)
三、图形化方式逐个转移(推荐日常维护)
适用于源 DC 在线、可控、计划内迁移。每类角色使用对应管理单元:
- 架构主控:在「Active Directory 架构」中右键 → 「操作主机」→ 「更改」
- 域命名主控:在「Active Directory 域和信任关系」中右键根节点 → 「操作主机」→ 「更改」
- PDC、RID、基础结构主控:在「Active Directory 用户和计算机」中右键域名 → 「操作主机」→ 切换到对应标签页 → 「更改」
- 每次点击「更改」后,系统会自动同步数据再移交,完成后提示「已成功传送」
四、强制获取(Seize)仅用于故障场景
当原持有者彻底宕机、无法恢复或网络隔离时才用,属于应急手段,不可逆:
- 在目标 DC 上以管理员身份打开命令提示符,依次输入:
ntdsutil → roles → connections → connect to server 本机FQDN → quit → 再输入对应命令,例如:
seize schema master(架构)
seize domain naming master(域命名)
seize pdc(PDC)
seize rid master(RID)
seize infrastructure master(基础结构) - 执行后务必运行 netdom query fsmo 验证结果
- 若原 DC 后续意外上线,必须先彻底卸载 AD DS 角色(dcpromo 或 Remove-WindowsFeature AD-Domain-Services),否则可能引发冲突











