转移FSMO角色到另一个域控制器

时间:2020-01-09 10:46:56  来源:igfitidea点击:

在本文中,请仔细考虑如何在Active Directory中找到具有FSMO角色的域控制器,如何将一个或者多个FSMO角色转移到另一个(添加/辅助)域控制器以及在域控制器FSMO发生故障的情况下如何抓住FSMO角色角色所有者。

了解Active Directory域中的FSMO角色

在Active Directory域中,什么是FSMO("灵活的单主机操作")角色?我们可以在任何域控制器上的Active Directory中执行大多数标准操作(例如,创建新的用户帐户和安全组或者将计算机加入域)。 AD复制服务负责在整个AD目录中分发这些更改。使用简单的原理解决了不同的冲突(例如,在多个域控制器上同时重命名用户帐户),最后一个是正确的。但是,在许多操作中,冲突是不可接受的(例如,在创建新的子域/林,更改AD模式等时)。要执行要求唯一性的操作,我们需要具有FSMO角色的域控制器。 FSMO角色的主要任务是防止此类冲突。

在Active Directory域中可能有"五个" FSMO角色。

"两个角色"对于AD林是唯一的:

  • "架构主机"负责更改Active Directory架构(例如,使用
adprep /forestprep

命令;

  • "域名命名主机"为我们在AD林中创建的所有域和应用程序部分提供唯一的名称(要对其进行管理,我们需要企业管理员权限)。

每个"域"都有"三个"角色(要管理它们,帐户必须是Domain Admins组的成员):

  • " PDC模拟器"是Windows网络中的主浏览器("域主浏览器用于显示网络环境中的计算机),它在输入错误密码时跟踪用户锁定,它是域中的主NTP服务器,用于提供与运行Windows 2000/NT的客户端的兼容性,DFS根服务器使用它来更新名称空间信息。
  • "基础架构主机"负责更新跨域对象链接;和
adprep /domainprep

在其上运行命令;

  • 服务器的RID Maste服务器将RID(每500个一包)分发给其他域控制器以创建唯一的对象标识符(SID)。

如何列出域中的FSMO角色所有者?

我们如何找出Active Directory域中FSMO角色的所有者是哪些域控制器?

为了找到域中的所有FSMO角色所有者,请运行以下命令:

netdom query fsmo
Schema master dc01.test.com
Domain naming master dc01.test.com
PDC dc01.test.com
RID pool manager dc01.test.com
Infrastructure master dc01.test.com

我们可以查看另一个域的FSMO角色:

netdom query fsmo /domain:theitroad.local

在此示例中,我们可以看到所有FSMO角色都位于DC01上。部署新的AD林(域)时,所有FSMO角色都将放置在第一个DC上。除RODC外,任何域控制器都可以担任任何FSMO角色。因此,域管理员可以将任何FSMO角色转移到任何其他域控制器。

我们可以使用Get-ADDomainController cmdlet通过PowerShell获取有关域中FSMO角色的信息(必须安装PowerShell的RSAT Active Directory模块):

Get-ADDomainController -Filter * | Select-Object Name, Domain, Forest, OperationMasterRoles |Where-Object {$_.OperationMasterRoles}

或者,我们可以按以下方式查看目录林或者域级别的FSMO角色:

Get-ADDomain | Select-Object InfrastructureMaster, RIDMaster, PDCEmulator Get-ADForest | Select-Object DomainNamingMaster, SchemaMaster

以下是Microsoft对于该域中FSMO角色放置的一般建议:

  • 将林级角色(架构主机和域命名主机)同时放置在作为全局编录服务器的根域上;
  • 将所有三个域FSMO角色放置在一个具有适当性能的域控制器上;
  • 所有林区DC都必须是Global Catalog服务器,因为它可以提高AD的可靠性和性能。然后,实际上不需要基础结构主机角色。如果我们有一个没有全局编录角色的DC,请在其上放置"基础结构主机"角色。
  • 不要将任何其他任务放在FSMO角色所有者DC上。

我们可以使用以下几种方法在Active Directory中转移FSMO角色:使用AD MMC图形管理单元,

ntdsutil.exe

或者

PowerShell

。在优化AD基础结构时,转移FSMO角色很重要,否则担负FSMO角色的DC会遭受灾难性的硬件/软件故障。转移FSMO角色的方式有两种:"转移"(当两个DC都可用时)或者"抓取"(当具有FSMO角色的DC不可用或者已损坏时)。

如何使用PowerShell转移FSMO角色?

在域中转移FSMO角色的最简单,最快的方法是使用Move-ADDirectoryServerOperationMasterRole PowerShell cmdlet。

我们可以一次将一个或者多个FSMO角色转移到指定的DC。以下命令将两个角色移至DC02:

Move-ADDirectoryServerOperationMasterRole -Identity dc03 -OperationMasterRole PDCEmulator, RIDMaster

在" OperationMasterRole"参数中,我们可以根据下表指定FSMO角色的名称或者其索引:

PDCEmulator0
RIDMaster1
InfrastructureMaster2
SchemaMaster3
DomainNamingMaster4

前一个较短格式的命令如下所示:

Move-ADDirectoryServerOperationMasterRole -Identity dc02 -OperationMasterRole 0,1

要将所有FSMO角色立即转移到其他域控制器,请运行以下命令:

Move-ADDirectoryServerOperationMasterRole -Identity dc03 -OperationMasterRole 0,1,2,3,4

使用Active Directory图形管理单元传输FSMO角色

要移动FSMO角色,可以使用标准的Active Directory图形管理单元。传输操作最好在具有FSMO角色的DC上执行。如果服务器本地控制台不可用,请使用"更改域控制器"选项,然后在MMC管理单元中选择域控制器。

如何转移RID主机,PDC模拟器和基础结构主机角色?

若要传输域级角色(RID,PDC,基础结构主机),请使用Active Directory用户和计算机(DSA.msc)控制台。

  • 打开" Active Directory用户和计算机"(ADUC)管理单元;
  • 右键单击域名,然后选择" Operations Master";
  • 出现带有三个选项卡(RID,PDC,基础结构)的窗口。通过指定新的FSMO所有者并单击"更改"按钮,使用这些选项卡来转移相应的角色。

如何转移架构主角色?

若要传输林级架构主机FSMO,请使用Active Directory架构管理单元。

  • 在启动管理单元之前,我们必须通过运行以下命令来注册schmmgmt.dll库:
regsvr32 schmmgmt.dll

在命令提示符下;

  • 通过在命令提示符下键入" MMC"来打开MMC控制台。
  • 从菜单中选择"文件"->"添加/删除管理单元",然后添加" Active Directory架构"控制台;
  • 右键单击控制台根目录(Active Directory架构),然后选择" Operations Master";
  • 输入要将架构主机角色转移到的域控制器名称,然后单击"更改"并单击"确定"。如果该按钮不可用,请确保帐户是Schema admins组的成员。

如何转移域命名主FSMO?

  • 要转移域命名主FSMO角色,请打开" Active Directory域和信任关系"控制台;
  • 右键单击域名,然后选择" Operations Master";
  • 单击"更改",输入域控制器的名称,然后单击"确定"。

使用Ntdsutil.exe从命令提示符处传输FSMO角色

重要。小心使用ntdsutil.exe工具,并确保我们知道自己在做什么,或者可以破坏Active Directory域!

  • 在域控制器上运行命令提示符,然后运行:
ntdsutil
  • 输入此命令:
roles
  • 然后:
connections
  • 然后,我们必须连接到要将FSMO角色转移到的DC。为此,请输入:
connect to server <servername>
  • 执行
q

然后按Enter;

  • 要转移FSMO角色,请使用以下命令:
transfer <role>

,其中<role>是我们要转移的角色。例如:

transfer schema master

transfer RID

, 等等;

  • 确认FSMO角色转移;
  • 完成后,按
q

然后按Enter退出ntdsutil.exe;

  • 重新启动域控制器。

抢占AD FSMO角色

如果具有FSMO角色之一的DC已损坏(无法恢复)或者长时间不可用,则可以强制占用其任何角色。但是,非常重要的一点是,如果我们不希望AD出现任何新问题(即使以后要从备份还原DC),请确保从中夺取角色的服务器一定不要出现在网络中。如果要将损坏的DC返回到域,唯一正确的方法是从AD中删除它的计算机帐户,使用新的主机名执行全新的Windows安装,安装ADDS角色,然后将服务器升级为域控制器。

我们可以使用PowerShell或者NTDSUtil抓住FSMO角色。

抓住FSMO角色的最简单方法是通过PowerShell。为此,使用了相同的Move-ADDirectoryServerOperationMasterRole cmdlet,但是向其中添加了" Force"参数。

例如,要抓住PDCEmulator角色并将其强制转移到DC02,请运行以下命令:

Move-ADDirectoryServerOperationMasterRole -Identity DC2 -OperationMasterRole PDCEmulator –Force

我们还可以使用ntdsutil.exe将FSMO角色占用到DC02服务器。癫痫发作的作用类似于普通的转移。使用以下命令:

ntdsutil  
roles  
connections  
connect to server DC02

(我们将角色转移到的服务器)

quit

要抓住不同的FSMO角色,请使用以下命令:

seize schema master  
seize naming master  
seize rid master  
seize pdc  
seize infrastructure master  
quit