在一个 Windows 2000 目录林中有五个 Flexible Single Master Operations (FSMO) 角色。在 Windows 2000 中转移 FSMO 角色有两种方法。本文介绍如何用 Microsoft 管理控制台 (MMC) 管理单元来转移所有这五个 FSMO 角色。这五个 FSMO 角色是:
●架构主机 -每个目录林中有一个主机角色担任者。架构主机 FSMO 角色的担任者是负责对目录架构执行更新的域控制器 (DC)。
●域命名主机 -每个目录林中有一个主机角色担任者。域命名主机 FSMO 角色的担任者是负责对目录的目录林范围的域名空间进行更改的 DC。
● 结构主机 -每个域中有一个主机角色担任者。结构主机 FSMO 角色的担任者是负责在一个跨域的对象引用中更新对象的 SID 和辨别名的 DC。
●  RID 主机 -每个域中有一个主机角色担任者。RID 主机 FSMO 角色的担任者是负责处理来自某一给定域中的所有 DC 的“RID 池”请求的单个 DC。
●  PDC 模拟器 -每个域中有一个主机角色担任者。PDC 模拟器 FSMO 角色的担任者是一个向较早版本的工作站、成员服务器和域控制器公布自己是主域控制器 (PDC) 的 Windows 2000 DC。它还是域主浏览器并负责处理密码差异。

有关 Windows 2000 中 FSMO 角色的其他信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:CHS197132 Windows 2000 Active Directory FSMO 角色
回到顶端
用 MMC 工具转移 FSMO 角色 在 Windows 2000 中,您可以通过 MMC 工具转移所有这五个 FSMO 角色。为使转移成功,双方计算机都必须能够联机访问到。如果有一个计算机已不存在,则必须取回其角色。要取回一个角色,必须使用一个叫做 Ntdsutil 的实用工具。有关其他信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章: 255504 Using Ntdsutil.exe to Seize or Transfer the FSMO Roles to a Domain(使用 Ntdsutil.exe 将 FSMO 角色取回或转移到一个域)
回到顶端
转移特定于域的角色:RID、PDC 和结构主机
1. 单击开始,指向程序,指向管理工具,然后单击“Active Directory 用户和计算机”。
2.  右键单击“Active Directory 用户和计算机”一旁的图标,然后单击“连接到域控制器”。备注:如果您不在要转移其角色的域控制器上,则需要执行此步骤。如果您连接着要转移其角色的那一域控制器,则不必执行此步骤。
(第 1/4 页)[2010/12/30 9:33:39]
3.  :如果您不在要转移其角色的域控制器上,则需要执行此步骤。如果您连接着要转移其角色的那一域控制器,则不必执行此步骤。单击将成为新的角色担任者的域控制器,然后单击确定。
4.  :如果您不在要转移其角色的域控制器上,则需要执行此步骤。如果您连接着要转移其角色的那一域控制器,则不必执行此步骤。右键单击“Active Directory 用户和计算机”图标,然后单击操作主机。
5.  :如果您不在要转移其角色的域控制器上,则需要执行此步骤。如果您连接着要转移其角色的那一域控制器,则不必执行此步骤。在更改操作主机对话框中,单击与您要转移的角色对应的选项卡(RID、PDC 或结构)。
6.  :如果您不在要转移其角色的域控制器上,则需要执行此步骤。如果您连接着要转移其角色的那一域控制器,则不必执行此步骤。单击更改操作主机对话框中的更改。
7.  :如果您不在要转移其角色的域控制器上,则需要执行此步骤。如果您连接着要转移其角色的那一域控制器,则不必执行此步骤。单击确定以确认您想转移的角色。
8. :如果您不在要转移其角色的域控制器上,则需要执行此步骤。如果您连接着要转移其角色的那一域控制器,则不必执行此步骤。单击确定。
9.  :如果您不在要转移其角色的域控制器上,则需要执行此步骤。如果您连接着要转移其角色的那一域控制器,则不必执行此步骤。单击取消关闭对话框。

回到顶端
转移域命名主机角色
1. 单击开始,指向程序,指向管理工具,然后单击“Active Directory 域和信任关系”。
2.  右键单击“Active Directory 域和信任关系”图标,然后单击“连接到域控制器”。备注:如果您不在要转移其角色的域控制器上,则需要执行此步骤。如果您连接着要转移其角色的那一域控制器,则不必执行此步骤。
3.  :如果您不在要转移其角色的域控制器上,则需要执行此步骤。如果您连接着要转移其角色的那一域控制器,则不必执行此步骤。单击将成为新的角色担任者的域控制器,然后单击确定。
4.  :如果您不在要转移其角色的域控制器上,则需要执行此步骤。如果您连接着要转移其角色的那一域控制器,则不必执行此步骤。右键单击“Active Directory 域和信任关系”,然后单击操作主机。
5.  :如果您不在要转移其角色的域控制器上,则需要执行此步骤。如果您连接着要转移其角色的那一域控制器,则不必执行此步骤。在更改操作主机对话框中,单击更改。
6.  :如果您不在要转移其角色的域控制器上,则需要执行此步骤。如果您连接着要转移其角色的那一域控制器,则不必执行此步骤。单击确定以确认您想转移的角色。
(第 2/4 页)[2010/12/30 9:33:39]
7. :如果您不在要转移其角色的域控制器上,则需要执行此步骤。如果您连接着要转移其角色的那一域控制器,则不必执行此步骤。单击确定。
8.  :如果您不在要转移其角色的域控制器上,则需要执行此步骤。如果您连接着要转移其角色的那一域控制器,则不必执行此步骤。单击取消关闭对话框。

回到顶端
转移架构主机角色您可以使用“架构主机”工具来转移此角色。不过,必须已注册了 Schmmgmt.dll 动态链接库以使该“架构”工具可以作为一个 MMC 被访问到。
注册架构工具
1. 单击开始,然后单击运行。
2. 键入 regsvr32 schmmgmt.dll,然后单击确定。应显示出一条指出注册成功的消息。

转移架构主机角色
1. 单击开始,单击运行,键入 mmc,然后单击确定。
2. 在控制台菜单上,单击“添加/删除管理单元”。
3. 单击添加。
4. 单击 Active Directory 架构。
5. 单击添加。
6. 单击关闭以关闭添加独立管理单元对话框。
7. 单击确定以将此管理单元添加到控制台。
8.  右键单击 Active Directory 架构图标,然后单击更改域控制器。备注:如果您不在要转移其角色的域控制器上,则需要执行此步骤。如果您连接着要转移其角色的那一域控制器,则不必执行此步骤。
9.  :如果您不在要转移其角色的域控制器上,则需要执行此步骤。如果您连接着要转移其角色的那一域控制器,则不必执行此步骤。单击
Specify Domain Controller(指定域控制器),键入将成为新的角色担任者的域控制器的名称,然后单击确定。

10.  :如果您不在要转移其角色的域控制器上,则需要执行此步骤。如果您连接着要转移其角色的那一域控制器,则不必执行此步骤。右键单击 Active Directory 架构,然后单击操作主机。
11. :如果您不在要转移其角色的域控制器上,则需要执行此步骤。如果您连接着要转移其角色的那一域控制器,则不必执行此步骤。在更改架构主

(第 3/4 页)[2010/12/30 9:33:39]
(第 4/4 页)[2010/12/30 9:33:39]
不适合多主机更新的某些域和企业范围的操作由 Active Directory 域或林中的一台域控制器完成。为执行这些特殊操作而指定的域控制器称为操作主机或 FSMO 角色担任者。
以下列表描述了 Active Directory 林中五种唯一的 FSMO 角色类型,以及这些角色执行的相关操作:
● 架构主机 (Schema master) -架构主机角色是林范围的角色,每个林一个。此角色用于扩展 Active Directory 林的架构或运行 adprep / domainprep命令。
● 域命名主机 (Domain naming master) -域命名主机角色是林范围的角色,每个林一个。此角色用于向林中添加或从林中删除域或应用程序分区。
●  RID 主机 (RID master) -RID 主机角色是域范围的角色,每个域一个。此角色用于分配 RID 池,以便新的或现有的域控制器能够创建用户帐户、计算机帐户或安全组。
●  PDC 模拟器 (PDC emulator) -PDC 模拟器角色是域范围的角色,每个域一个。将数据库更新发送到 Windows NT 备份域控制器的域控制器需要具备这个角色。此外,拥有此角色的域控制器也是某些管理工具的目标,它还可以更新用户帐户密码和计算机帐户密码。
● 结构主机 (Infrastructure master) -结构主机角色是域范围的角色,每个域一个。此角色供域控制器使用,用于成功运行 adprep / forestprep命令,以及更新跨域引用的对象的 SID 属性和可分辨名称属性。

Active Directory 安装向导 (Dcpromo.exe) 将这五种 FSMO 角色全部分配给林根域中的第一台域控制器。每个新子域或树域中的第一台域控制器将获得三个域范围的角色。在使用以下某种方法重新分配 FSMO 角色之前,域控制器将一直担任 FSMO 角色:
● 管理员使用 GUI 管理工具重新分配角色。
● 管理员使用 ntdsutil /roles命令重新分配角色。
● 管理员使用 Active Directory 安装向导正常降级担任某个角色的域控制器。该向导将任何本地担任的角色重新分配给林中的现有域控制器。使用 dcpromo /forceremoval命令执行降级会使 FSMO 角色处于无效状态,直到管理员重新分配为止。

我们建议您在以下情况下转移 FSMO 角色:
● 当前角色担任者可以运行,并且新的 FSMO 所有者可以通过网络访问它。
● 您正在正常降级一台域控制器,它目前担任着您要分配给 Active Directory 林中某个特定域控制器的 FSMO 角色。
● 由于要进行定期维护,您需要使目前担任 FSMO 角色的域控制器脱机,并且您需要将特定的 FSMO 角色分配给一台“活动的”域控制器。这可能是执行连接到 FSMO 所有者执行操作所必需的。对于 PDC 模拟器角色来说,尤其如此,但对于 RID 主机角色、域命名主机角色和架构主机角色来说,则不尽然。

我们建议您在遇到以下情况时捕获 FSMO 角色:
●当前角色担任者遇到一个操作错误,导致 FSMO 相关操作无法成功完成,并且无法转移该角色。
●使用 dcpromo /forceremoval命令强制降级担任 FSMO 角色的域控制器。
●原来担任某个特定角色的计算机上的操作系统不再存在或者已被重新安装。

在进行复制时,域或林中的非 FSMO 域控制器可完全了解担任 FSMO 角色的域控制器所做的更改。如果必须转移角色,则最佳的候选域控制器应该是以下域中的域控制器:该域最后一次或最近从现有角色担任者入站复制了“FSMO 分区”的可写副本。例如,架构主机角色担任者具有可分辨名称路径 CN=schema,CN=configuration,dc=<林根域>,这意味着角色位于 CN=schema 分区中并且作为该分区的一部分被复制。如果担任架构主机角色的域控制器遇到硬件或软件故障,则较合适的候选角色担任者应当是根域中的域控制器,并且与当前所有者位于同一 Active Directory 站点中。同一 Active Directory 站点中的域控制器每隔 5 分钟或 15 秒执行一次入站复制。
每个 FSMO 角色的分区如列表所示:
应禁止其 FSMO 角色已被捕获的域控制器与林中的现有域控制器通信。在这个情况下,您应格式化这类域控制器上的硬盘并重新安装操作系统,或者强制降级专用网络上的这类域控制器,然后使用 ntdsutil /metadata cleanup命令删除它们在林中剩余域控制器上的元数据。将其角色已被捕获的前任 FSMO 角色担任者引入林中的风险在于,原来的角色担任者可能会像以前那样继续运行,直到它通过入站复制了解到角色捕获信息。两个域控制器担任相同 FSMO 角色的已知风险在于,这样会创建具有重叠 RID 池的安全主体,同时还会引发其他问题。
回到顶端
转移 FSMO 角色
若要使用 Ntdsutil 实用工具转移 FSMO 角色,请按照下列步骤操作:
1.  登录到基于 Windows 2000 Server 或基于 Windows Server 2003 的成员服务器,或登录到转移 FSMO 角色时所在林中的域控制器。我们建议您登录到要为其分配 FSMO 角色的域控制器。登录用户应该是企业管理员组的成员,才能转移架构主机角色或域命名主机角色,或者是转移 PDC 模拟器、RID 主机和结构主机角色时所在域中的域管理员组的成员。
2. 单击“开始”,单击“运行”,在“打开”框中键入 ntdsutil,然后单击“确定”。
3. 键入 roles,然后按 Enter。
注意:要在 Ntdsutil 实用工具中的任一提示符处查看可用命令的列表,请键入 ?,然后按 Enter。
4. 键入 connections,然后按 Enter。
5. 键入 connect to server servername,然后按 Enter,其中 servername是要赋予其 FSMO 角色的域控制器的名称。
6. 在“server connections”提示符处,键入 q,然后按 Enter。
7.  键入 transfer role,其中 role是要转移的角色。要查看可转移角色的列表,请在“fsmo maintenance”提示符处键入 ?,然后按 Enter,或者查看本文开头的角色列表。例如,要转移 RID 主机角色,键入 transfer rid master。PDC 模拟器角色的转移是一个例外,其语法是 transfer pdc而非 transfer pdc emulator。
8. 在“fsmo maintenance”提示符处,键入 q,然后按 Enter,以进入“ntdsutil”提示符。键入 q,然后按 Enter,退出 Ntdsutil 实用工具。

回到顶端
获取 FSMO 角色
若要使用 Ntdsutil 实用工具获取 FSMO 角色,请按照下列步骤操作:
1.  登录到基于 Windows 2000 Server 或 Windows Server 2003 的成员计算机,或者登录到捕获 FSMO 角色时所在林中的域控制器。我们建议您登录要赋予其 FSMO 角色的域控制器。登录的用户应当是企业管理员组的成员(以便转移架构主机角色或域命名主机角色),或登录到转移 PDC 模拟器角色、RID 主机角色和结构主机角色时所在域中的域管理员组成员。
2. 单击“开始”,单击“运行”,在“打开”框中键入 ntdsutil,然后单击“确定”。
3. 键入 roles,然后按 Enter。
4. 键入 connections,然后按 Enter。
5. 键入 connect to server servername,然后按 Enter,其中 servername是要为其分配 FSMO 角色的域控制器的名称。
6. 在“server connections”提示符处,键入 q,然后按 Enter。
7.  键入 seize role,其中 role是您要捕获的角色。要查看可捕获角色的列表,请在“fsmo maintenance”提示符处键入 ?,然后按 Enter,或者查看本文开头的角色列表。例如,要捕获 RID 主机角色,可键入 seize rid master。PDC 模拟器角色的捕获是一个例外,它的语法是
seize pdc而非 seize pdc emulator。
8. 在“fsmo maintenance”提示符处,键入 q,然后按 Enter,以进入“ntdsutil”提示符。键入 q,然后按 Enter,退出 Ntdsutil 实用工具。

注意
..
通常情况下,必须将这五个角色全部分配给林中“活动的”域控制器。如果担任 FSMO 角色的域控制器在其角色转移之前被停止服务,则您必须捕获所有角色并将之分配给一个合适的、状态良好的域控制器。我们建议您只有在其他域控制器没有返回到域时才捕获所有角色。如有可能,请修复分配了 FSMO 角色的停止工作的域控制器。应确定日后会将各种角色赋予哪些其余的域控制器,以便将五个角色全部分配给一台域控制器。有关 FSMO 角色放置的更多信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
223346在 Windows 2000 域控制器上放置和优化 FSMO
..
如果原来拥有任何 FSMO 角色的域控制器已不在域中,并且您已经按照本文所述的步骤捕获了它的角色,请按照以下 Microsoft 知识库文章中概括的步骤将其从 Active Directory 中删除: 216498域控制器降级失败后如何删除 Active Directory 中的数据
..
使用 Windows 2000 或 Windows Server 2003 内部版本 3790 的 ntdsutil /metadata cleanup命令删除域控制器元数据时,不会重定位已分配给活动域控制器的 FSMO 角色。Windows Server 2003 Service Pack 1 (SP1) 的 Ntdsutil 实用工具会自动完成此任务,删除域控制器元数据的其他元素。
..
由于备份后 FSMO 角色可能曾被重新分配过,有些客户不愿恢复 FSMO 角色担任者的系统状态备份。
..
不要将结构主机角色放置在同时也是全局编录服务器的域控制器上。如果结构主机在全局编录服务器上运行,它将会停止更新对象信息,因为它不包含对它不保存的对象的任何引用。而全局编录服务器持有林中每个对象的部分副本。
要测试域控制器是否也是全局编录服务器,请按照下列步骤操作:
1. 单击“开始”,指向“程序”,指向“管理工具”,然后单击“Active Directory 站点和服务”。
2. 双击左侧窗格中的“站点”,然后找到合适的站点,如果没有其他站点可用,则单击“Default-first-site-name”。
3. 打开“服务器”文件夹,然后单击域控制器。
4. 在域控制器的文件夹中,双击“NTDS 设置”。
5. 在“操作”菜单上,单击“属性”。
6. 在“常规”选项卡上,查看“全局编录”复选框是否选中。