FSMO 是什么
Active Directory 里不能由所有域控并行的操作,交给五个「操作主机角色」(FSMO)单独持有:林级两个负责架构与林的命名,域级三个负责密码与账号相关的高频单点工作。平时它们静默工作,一旦角色持有者离线,对应的功能就会报错——比如密码改了不同步、新账号建不出来。知道五个角色分别在哪台机器上,是域排障的基本功。
基本信息
| 林级角色 | Schema Master(架构主机)、Domain Naming Master(域命名主机) |
|---|---|
| 域级角色 | PDC Emulator、RID Master、Infrastructure Master |
| 查询命令 | netdom query fsmo;Get-ADDomain 与 Get-ADForest 的属性 |
| 转移方式 | 正常迁移用 transfer(原持有者在线),永久故障才谈 seize(夺取) |
| 验证 | dcdiag /test:KnowsOfRoleHolders 检查角色持有者可达性 |
| 权限要求 | 转移与夺取需要企业管理员/域管理员权限 |
典型使用场景
- 密码问题定位:改密后不同步、账号锁定异常,先确认 PDC 在哪台域控
- 账号建不出来:RID 池耗尽或 RID Master 不可达时新对象创建失败
- 架构升级:准备扩展架构前确认 Schema Master 位置与健康状态
- 站点迁移:域控下线或重建时规划 FSMO 角色转移
- 排障取证:确认角色分布是否与设计文档一致,避免单点集中
常用示例
常用示例
netdom query fsmo # 一次性列出五个角色持有者
(Get-ADDomain).PDCEmulator # 域级:PDC 模拟器
(Get-ADDomain).RIDMaster # 域级:RID 主机
(Get-ADDomain).InfrastructureMaster # 域级:基础结构主机
(Get-ADForest).SchemaMaster # 林级:架构主机
(Get-ADForest).DomainNamingMaster # 林级:域命名主机
# 检查角色持有者是否可达
dcdiag /test:KnowsOfRoleHolders /s:DC01
# 正常转移(原持有者在线,推荐方式)
# Move-ADDirectoryServerOperationMasterRole -Identity DC02 -OperationMasterRole PDCEmulator,RIDMaster五个角色职责速查
| 角色 | 级别 | 职责与失效影响 |
|---|---|---|
| Schema Master | 林 | 控制架构修改;不可达时无法扩展架构 |
| Domain Naming Master | 林 | 控制林的域与应用分区增删;不可达时无法加域或建分区 |
| PDC Emulator | 域 | 密码变更优先复制目标、账号锁定判定、域内时间权威、GPO 紧急更新 |
| RID Master | 域 | 向各域控分配 RID 池;不可达时新对象创建开始失败 |
| Infrastructure Master | 域 | 跨域对象引用更新;多域环境才有实际影响 |
「PDC 是哪台」是域排障里问得最多的一句:密码修改优先复制到 PDC、账号锁定也在 PDC 判定、紧急的 GPO 变更同样依赖它。排查密码与锁定类问题时,先确认 PDC 的位置与健康状态。
单域环境中基础结构主机基本不承担实际工作;多域环境若域内全部域控都是全局编录,它同样不再有实际负载。放置规则随环境不同,规划时以官方建议与自身拓扑为准。
转移与夺取的区别
转移与夺取的区别
# 正常转移:原持有者在线,双方协商交接(首选)
Move-ADDirectoryServerOperationMasterRole -Identity DC02 -OperationMasterRole PDCEmulator -Confirm:$false
# 夺取(seize):仅在原持有者永久损坏、无法恢复时使用
# Move-ADDirectoryServerOperationMasterRole -Identity DC02 -OperationMasterRole PDCEmulator -Force
# 夺取后核验
netdom query fsmo夺取(seize)与转移语义完全不同:夺取后原持有者不得再以旧身份回到网络,尤其是 RID、Schema 与 Domain Naming 三个角色,否则会出现 RID 池冲突等难以收拾的问题;原机器必须彻底重建并清理元数据。