点滴生活,生活点滴,都需要你来陪伴,往后余生,请多多指教。男人最幸福的事情是:一个好妻子,一份好工作,一个好身体。

2009-2022
DFHL
首页 » 服务器运维 » FSMO五大角色转移

FSMO五大角色转移

好的,这是一个关于 Windows Server Active Directory 中 FSMO 五大角色转移的详细说明。

什么是 FSMO 角色?
FSMO,中文全称为“灵活单主机操作”,是 Active Directory 域服务中一些特殊的管理功能。为了保证数据的一致性,这些功能在某一时刻只能由一台域控制器来承担。这五个角色缺一不可,是 AD 正常运作的核心。

FSMO 五大角色简介
这五个角色分为两大类:

  1. 林级别角色(每个林唯一)

架构主机:控制对 Active Directory 架构的所有更新和修改。

域命名主机:控制林中域的添加或删除。

  1. 域级别角色(每个域唯一)

PDC 仿真主机:

模拟 Windows NT 的主域控制器,用于兼容旧客户端。

处理密码更改和账户锁定。

为域内所有计算机同步时间。

RID 主机:

向域内所有 DC 分配 RID 池。当 DC 创建安全主体时,会使用一个 SID = 域 SID + RID。

基础结构主机:

负责更新跨域对象引用的 SID 和可分辨名称。

为什么要进行角色转移?
角色转移通常在计划内的维护操作中进行,例如:

将域控制器降级(如运行 dcpromo 将其降为成员服务器)。

对承载角色的域控制器进行硬件升级或维护。

为了优化网络性能,将角色迁移到更强大的服务器上。

重要区别:转移 vs 抢占

转移:一种安全、有序的操作。源服务器和目标服务器都在线且能正常通信。它通过正常的 AD 复制来安全地移动角色所有权。这是推荐的做法。

抢占:一种紧急、有风险的操作。当承载角色的原始域控制器发生故障且无法恢复时,强制在另一台可用的域控制器上夺取角色。这会带来数据冲突的风险,应仅在必要时使用。

如何进行角色转移?(图形界面和命令行)
以下操作假设您要将角色从当前的持有 DC 转移到另一台目标 DC 上。

方法一:使用 Active Directory 用户和计算机(用于域级别角色)
此方法适用于转移 PDC 仿真主机、RID 主机 和 基础结构主机。

在目标域控制器上,打开 服务器管理器 > 工具 > Active Directory 用户和计算机。

在左侧窗格中,右键点击域名,选择 操作主机。

在弹出的窗口中,您会看到 RID、PDC 和 基础结构 三个选项卡。

切换到每个选项卡,点击 更改 按钮。

系统会提示您确认将角色转移到此服务器,点击 是。

(这是一个操作主机对话框的示意图)

方法二:使用 Active Directory 域和信任关系(用于域命名主机)
此方法用于转移 域命名主机 角色。

在目标域控制器上,打开 服务器管理器 > 工具 > Active Directory 域和信任关系。

在左侧窗格中,右键点击 Active Directory 域和信任关系,选择 操作主机。

点击 更改 按钮。

确认操作。

方法三:使用 Active Directory 架构(用于架构主机)
注意:默认情况下,Active Directory 架构管理单元是未注册的。

首先,以架构管理员组成员身份登录,并在目标 DC 上注册架构管理单元:
打开命令提示符或 PowerShell,输入:

powershell
regsvr32 schmmgmt.dll
打开 MMC 控制台(mmc.exe)。

点击 文件 > 添加/删除管理单元。

选择 Active Directory 架构,点击 添加,然后点击 确定。

在控制台中,右键点击 Active Directory 架构,选择 操作主机。

点击 更改 按钮。

方法四:使用 PowerShell(推荐,最全面高效)
使用 PowerShell 是最高效的方式,可以一次性查看和转移所有角色。

在目标域控制器上,以管理员身份打开 Windows PowerShell。

查看当前 FSMO 角色持有者:

powershell
Get-ADForest | Select-Object SchemaMaster, DomainNamingMaster
Get-ADDomain | Select-Object PDCEmulator, RIDMaster, InfrastructureMaster
或者使用 NetDom 命令:

powershell
netdom query fsmo
转移所有五个角色(从当前持有者到本机):
首先,需要导入 Active Directory 模块。

powershell
Import-Module ActiveDirectory
转移架构主机:

powershell
Move-ADDirectoryServerOperationMasterRole -Identity "目标DC的计算机名" -OperationMasterRole SchemaMaster
转移域命名主机:

powershell
Move-ADDirectoryServerOperationMasterRole -Identity "目标DC的计算机名" -OperationMasterRole DomainNamingMaster
转移域级别角色(PDC, RID, 基础结构):

powershell
Move-ADDirectoryServerOperationMasterRole -Identity "目标DC的计算机名" -OperationMasterRole PDCEmulator, RIDMaster, InfrastructureMaster
一次性转移所有五个角色:

powershell
Move-ADDirectoryServerOperationMasterRole -Identity "目标DC的计算机名" -OperationMasterRole 0,1,2,3,4
(其中 0,1,2,3,4 分别代表:PDC仿真主机, RID主机, 基础结构主机, 架构主机, 域命名主机)

在执行每个 PowerShell 命令时,系统会要求您确认。输入 Y 并回车即可。

总结与最佳实践
计划内操作:始终优先使用角色转移,确保过程平稳安全。

选择目标:将 FSMO 角色放置在性能良好、网络连接稳定、且全局编录通常已启用的域控制器上(尽管基础结构主机不应与 GC 放在同一台服务器上,除非林中只有一个域)。

验证结果:转移完成后,务必使用 netdom query fsmo 或相应的 PowerShell 命令验证角色是否已成功转移到目标服务器。

备份:在对 AD 结构进行任何重大更改(包括 FSMO 角色转移)之前,请确保拥有有效的系统状态备份。

谨慎抢占:只有在原始角色持有者确定永久离线且无法恢复时,才使用 ntdsutil 工具进行角色抢占。

文章如无特别注明均为原创! 作者: 等风也等你, 转载或复制请以 超链接形式 并注明出处 走近风的BLOG
原文地址《 FSMO五大角色转移》发布于2025年9月29日

分享到:
打赏

评论

游客

看不清楚?点图切换