域控制器已经搭建完成了,我们总是在网上看到FSMO各种角色,可是我们有深入的了解过吗?下面让我们
一起跟随这边文章,深入的理解活动目录的FSMO角色
五种角色架构
AD域环境中五大 角色
在Win2003多主机复制环境中,任何 理论上都可以更改ActiveDirectory中的任何对象。但实际上并非如此,某些AD功能不允许在多台DC上完成,否则可能会造成AD 一致性错误,这些特殊的功能称为“灵活单一主机操作”,常用FSMO来表示,拥有这些特殊功能 的主机被称为FSMO角色主机。在Win2003 AD域中,FSMO有五种角色,分成两大类:
森林级别(在整个林中只能有一台DC拥有访问主机角色) 
1:架构主机 (Schema Master)
2:域命令主机 (Domain Naming Master)
域级别(在域中只有一台DC拥有该角色
3:PDC模拟器(PDC Emulator)
4:RID主机 (RID Master)
5:基础架构主机 (Infrastructure Master)
1:架构主机
目录整个林中所有对象和属性的定义,具有架构主机角色的DC是可以更新目录架构的唯一 DC。这些架构更新会从架构主机复制到目录林中的所有其它域控制器中。架构主机是基于目录林的,整个目录林中只有一个架构主机。
2:域命令主机
向目录林中添加新域。
从目录林中删除现有的域。
添加或删除描述外部目录的 对象.
3:PDC模拟器
向后兼容低级客户端和服务器,担任NT系统中PDC角色
服务源,作为本域权威 ,为本域中其它DC以及客户机提供时间同步服务,林中根域的PDC模拟器又为其它域PDC模拟器提供时间同步!
密码最终验证服务器,当一用户在本地DC登录,而本地DC验证本地用户输入密码无效时,本地DC会查询PDC模拟器,询问密码是否正确。
首选的 存放位置, (GPO)由两部分构成:GPT和GPC,其中GPC存放在AD数据库中,GPT默认存放PDC模拟器在\\windows\sysvol\sysvol\<domainname>目录下,然后通过DFS复制到本域其它DC中。name域主机 ,提供通过 查看域环境中所有主机的功能
4:主机角色:RID主机
Win2003环境中,所有的安全主体都有SID,SID由域SID+序列号组合而成,后者称为“相对ID”(Relative ID,RID),在Win2003环境中,由于任何DC都可以创建安全主体,为保证整个域中每个DC所创建的安全主体对应的SID在整个域范围唯一性,设立该主机角色,负责向其它DC分配RID池(默认一次性分配500个),所有非RID主机在创建安全实体时,都从分配给的RID池中分配RID,以保证SID不会发生冲突! 当非RID主机中分配的RID池使用到80%时,会继续RID主机,申请分配下一个RID !
5:基础架构主机
主机的作用是负责对跨域对象引用进行更新,以确保所有域间操作对象的一致性。
基础架构主机工作机制是定期会对没有保存在本机的引用对象信息,而对于GC来说,会保存当前林中所有对象信息。如果基础架构主机与GC在同一台机,基础架构主机就不会更新到任何对象。所以在多域情况下,强烈建议不要将基础架构主机设为GC。
二:标准图形界面查看和更改操作主机角色的方法
1:查看和更改架构主机角色:
步骤:注册:regsvr32 schmmgmt 在MMC中添加AD架构管理单元打开MMC控制台,
选中“Active Directory架构”击“右键”,选择“操作主机”
打开更改架构页面后,点击"更改"就可以进行架构主机角色的更改
2.查看和更改PDC模拟器,RID主机以及基础结构主机
步骤:开始-设置- - -Active Directory用户和  选定当前域名,右键单击,选择“操作主机”
在打开的页面中,通过点击“更改”按钮就可以对RID主机,PDC模拟器以及基础结构主机角色进行更改
3.查看和更改域命名主机角色
步骤:点击“开始-设置-控制面板-管理工具-Active Directory域和信任关系”: 选中“Active Directory域和信任关系”,右键单击,选择“操作主机”
在打开的窗口中,点击“更改”按钮就可以实现对域命名主机角色进行更改
四:使用命令行工具查看和更改操作主机角色
有多个工具可以实现在命令行下查看操作主机角色,下面只列出几种常见方法
注意,下面对应的工具有些需要安装Win2003 Support Tools工具
1:使用Netdom工具查看操作主机角色
Netdom Query FSMO
3.利用自制 Replmon查看和检查操作主机角色
复制监视器Replication Monitor(ReplMon)是针对Windows Server的故障查找工具,不但是定位 复制故障强有利的工具,同时也可以使用该工具查看和检查操作主机角色状态。
步骤:选中当前DC,右键单击,选择“Properties”
在弹出窗口中,选择“FSMO Roles”分窗口,出现如下界面:
在该窗口,列出所有的FSMO操作主机,同时通过“Query”按钮,可以检测出当前DC 与FSMO操作主机之间通讯是否正常。
四:使用命令行工具查看和更改操作主机角色
有多个工具可以实现在命令行下查看操作主机角色,下面只列出几种常见方法
注意,下面对应的工具有些需要安装Win2003 Support Tools工具
1:使用Netdom工具查看操作主机角色 Netdom Query FSMO
2:使用Dsquery工具查看操作主机角色
Dsquery Server –Hasfsmo Schema //查看架构主机
Dsquery Server –Hasfsmo Name //查看域 主机
Dsquery Server –Hasfsmo PDC //查看PDC模拟器主机
Dsquery Server –Hasfsmo RID //查看RID主机
Dsquery Server –Hasfsmo Infr //查看基础结构主机
3:使用Ntdsutil工具更改操作主机角色
Ntdsutil工具的功能非常强大,可以进行AD ,查看和更换操作主机角色以及删除无法通过图形界面删除的DC遗留的 。通过Ntdsutil工具不但可以清理无效的DC信息,也可以使用Transfer子命令转移操作主机角色,使用Seize子命令夺取操作主机角色。
更改操作主机角色:
在命令行模式下传送(transfer)与占用(seize)操作主机角色 
传送与占用的区别:
传送是指在域或森林内,原来的操作主机是工作正常的情况下,把原有操作主机功能传给额外的域控,不会有数据丢失的情况(可理解成公司内正常工作的交接)
占用是指在域或森林内,原有操作主机无法正常响应的情况下,为保证域内功能的正常使用,直接从额外域控上将原有主机的角色抢占过来,但由于无法联系原来的操作主机,原有信息将会丢失,所以不到万不得已,不要用抢占。
以架构主机为例进行传送操作:
(1).打开cmd-输入ntdsutil—roles 
(2). 输入connections— connect to server  要传送的服务器名
(3).连接到服务器成功后,输入quit退回上级菜单,?后查看可执行的操作
(4).如需传送操作主机角色使用transfer,如占用使用seize,下例演示传送命名主机
在图中可看到,命名主机成功传送至win2k8这台域控,其它操作主机角色的传送和占用操作也与上面类似,不再赘述(注意不管是传送还是占用操作主机,一定要先连接到想要得到操作主机角色的域控后,再进行传送或是占用操作)。
五:操作主机角色放置优化配置建议
默认情况下,架构主机和域命名主机角色是在根域的第一台DC上,而PDC模拟器,RID主机和基础结构主机默认放置在当前域的第一台DC上。特别是在单域环境中,按默认安装,第一台DC会同时拥有这五种FSMO操作主机角色。万一这台DC损坏,会对域环境造成极大风险!
常见的操作主机角色放置建议如下:
1:架构主机:拥有架构主机角色的DC不需要高性能,因为在实际环境中不会经常对Schema进行操作的,除非是经常会对Schema进行扩展,不过这种情况非常的少。但要保证可用性,否则在安装Exchange等会扩展AD架构的软件时会出错。
2:域命名主机:对占有域命名主机的DC也不需要高性能,在实际环境中也不会经常在森林里添加或者删除域的。但要保证高可用性是有必要的,以保证在添加删除当前林中域时可以使用。
一般建议由同一台DC承担架构主机与域域命名主机角色,并由GC放置在同一台DC中。
3:PDC模拟器:从上述PDC功能中可以看出,PDC模拟器是FSMO五种角色里任务最重的,必须保持拥有PDC的DC有高性能和高可用性。
4:RID主机:对于占有RID Master的域控制器,没有必要一定要求高性能,因为给其它DC分配RID池的操作不是经常性发生,但要求高可用性,否则在添加用户时出错。
5:基础架构主机:对于单域环境,基础架构主机实际上不起作用,因为基础架构主机主要作用是对跨域对象引用进行更新,对于单域,不存在跨域对象的更新。基础架构主机对性能和可用性方面的要求较低。