AD当中的 架构主机和结构主机和域命名主机是啥意思

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了AD当中的 架构主机和结构主机和域命名主机是啥意思相关的知识,希望对你有一定的参考价值。

AD当中的 架构主机和结构主机和域命名主机是什么意思

五种角色架构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
FSMO3.利用自制监视器Replmon查看和检查操作主机角色复制监视器Replication
Monitor(ReplMon)是针对Windows
Server的故障查找工具,不但是定位活动目录复制故障强有利的工具,同时也可以使用该工具查看和检查操作主机角色状态。步骤:选中当前DC,右键单击,选择“Properties”在弹出窗口中,选择“FSMO
Roles”分窗口,出现如下界面:在该窗口,列出所有的FSMO操作主机,同时通过“Query”按钮,可以检测出当前DC
与FSMO操作主机之间通讯是否正常。四:使用命令行工具查看和更改操作主机角色有多个工具可以实现在命令行下查看操作主机角色,下面只列出几种常见方法注意,下面对应的工具有些需要安装Win2003
Support
Tools工具1:使用Netdom工具查看操作主机角色
Netdom
Query
FSMO2:使用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子命令夺取操作主机角色。五:操作主机角色放置优化配置建议默认情况下,架构主机和域命名主机角色是在根域的第一台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:基础架构主机:对于单域环境,基础架构主机实际上不起作用,因为基础架构主机主要作用是对跨域对象引用进行更新,对于单域,不存在跨域对象的更新。基础架构主机对性能和可用性方面的要求较低。
参考技术A (1) Schema Master 架构主机
用来修改活动目录的源数据。我们知道在活动目录里存在着各种各样的对像,比如用户、计算机、打印机等,这些对像有一系列的属性,活动目录本身就是一个数据库,对像和属性之间就好像表格一样存在着对应关系,那么这些对像和属性之间的关系是由谁来定义的,就是Schema Master。Sechema是可以扩展的,但是必须在 Schema Master上扩展。
建议:在占有Schema Master的域控制器上不需要高性能,因为我们不是经常对Schema进行操作的,除非是经常会对Schema进行扩展,不过这种情况非常的少,但我们必须保证可用性,否则在安装Exchnage或LCS之类的软件时会出错。
(2)Domain Naming Master 域命名主机
它的主要作用是管理森林中域的添加或者删除。如果你要在你现有森林中添加一个域或者删除一个域的 话,那么就必须要和Domain Naming
Master进行联系,如果Domain Naming Master处于Down机状态的话,你的添 加和删除操作那上肯定会失败的。
   建议:对占有Domain Naming Master的域控制器同样不需要高性能,我想没有一个网络管理员会经常在森林里添加或者删除域吧?当然高可用性是有必要的,否则就没有办法添加删除森里的域了。

2. 域级别 (即一个域里只存在一台有个角色)
(3) PDC
Emulator PDC仿真器
在前面已经提过了,Windows
2000域开始,不再区分PDC还是BDC,但实际上有些操作则必须要由PDC来完成,那么这些操作在Windows
2003域里面怎么办呢?那就由PDC
Emulator来完成,主要是以下操作:

A. 处理密码验证要求;
   在默认情况下,Windows 2003域里的所有DC会每5分钟复制一次,但有一些情况是例外的,比如密码的修改,一般情况下,一旦密码被修改,会先被复制到PDC Emulator,然后由PDC Emulator触发一个即时更新,以保证密码的实时性,当然,实际上由于网络复制也是需要时间的,所以还是会存在一定的时间差,至于这个时间差是多少,则取决于你的网络规模和线路情况。

B.统一域内的时间;
   微软活动目录是用Kerberos协议来进行身份认证的,在默认情况下,验证方与被验证方之间的时间差不能超过5分钟,否则会被拒绝通过,微软这种设计主要是用来防止回放式攻击。所以在域内的时间必须是统一的,这个统一时间的工作就是由PDC Emulator来完成的。
C.向域内的NT4 BDC提供复制数据源;
   对于一些新建的网络,不大会存在Windows 2000域里包含NT4的BDC的现象,但是对于一些从NT4升级而来的Windows 2000域却很可能存有这种情况,这种情况下要向NT4 BDC复制,就需要PDC Emulator。
D.统一修改组策略的模板;
E.对Windows2000以前的操作系统,如Win98之类的计算机提供支持;
   对于Windows 2000之前的操作系统,它们会认为自己加入的是NT4域,所以当这些机器加入到Windows 2000域时,它们会尝试联系PDC,而实际上PDC已经不存在了,所以PDC Emulator就会成为它们的联系对象!
建议:从上面的介绍里大家应该看出来了,PDC Emulator是FSMO五种角色里任务最重的,所以对于占用 PDC mulator的域控制器要保证高性能和高可用性。
(4) RID Master RID主控
在Windows 2000以上的安全子系统中,用户的标识不取决于用户名,虽然我们在一些权限设置时用的是用户名,但实际上取决于安全主体的SID,所以当两个用户的SID一样的时候,尽管他们的用户名可能不一样,但 Windows的安全子系统中会把他们认为是同一个用户,这样就会产生安全问题。而在域内的用户、组和计算机的安 全ID=Domain SID+RID,那么如何避免这种情况?这就需要用到RID Master,RID Master的作用是:分配可用RID池 给域内的DC和防止安全主体的SID重复。
   建议:对于占有RID Master的域控制器,其实也没有必要一定要求高性能,因为我们很少会经常性的利用批处理或 脚本向活动目录添加大量的用户。这个请大家视实际情况而定了,当然高可用性是必不可少的,否则就没有办法 添加用户

(5) Infrastructure
Master
FSMO的五种角色中最无关紧要的可能就是这个角色了,它的主要作用就是用来更新组的成员列表,因为在活动目录中很有可能有一些用户从一个OU转移到另外一个OU,那么用户的DN名就发生变化,这时其它域对于这个 用户引用也要发生变化。这种变化就是由Infrastructure
Master来完成的。

Windows Server 2016-Powershell迁移FSMO角色

上一章节我们讲到了通过Ntdsutil命令行进行FSMO角色迁移,本章开始之前我们先讨论一下有关FSMO角色放置建议:

  • 建议将架构主机角色(Schema Master)和域命名主机角色(Domain Naming Master)放在森林根域的GC(全局编录)服务器上;

  • 建议将架构主机角色(Schema Master)和域命名主机角色(Domain Naming Master)放在第一台域控制器上;

  • 默认Domain Naming Master角色的域控制器必须同时也是GC(全局编录)服务器;

  • 不建议将Infrastructure Master和GC放在同一台域控制器上;

  • 一般不建议把PDC Emulator、RID Master及Infrastructure Master放置在GC服务器上;

但那很多情况下管理员的一般针对单域林的操作方法是基础结构主机可以部署在域中的任意域控制器上,而不管域控制器是否承载了全局编录;针对多域林,如果位于多域林中的指定域没有任何域控制器承载全局编录,则基础结构主机必须部署在一个没有承载全局编录的域控制器上。

本章我们将介绍通过Powershell进行FSMO角色迁移的方法(记得以管理员身份运行Powershell,如果没有执行权限,记得Set-ExecutionPolicy Unrestricted调整执行权限),希望以下内容可以帮到大家。

1、查看当前FSMO角色信息:

查看林范围操作主机角色:
Get-ADForest azureyun.local |ft SchemaMaster,DomainNamingMaster
查看域范围操作主机角色:
Get-ADDomain azureyun.local |ft InfrastructureMaster,Pdcemulator,RidMaster

2、执行域命名主机角色(Domain Naming Master)、RID 主机角色(RID Master)和基础架构主机角色(Infrastructure Master)迁移,根据提示回车确认:

Move-ADDirectoryServerOperationMasterRole -Identity Bdc -OperationMasterRole DomainNamingMaster,InfrastructureMaster,RIDMaster -force

3、通过Powershell分别查看林范围跟域范围操作主机角色,确认迁移操作是否成功:

Get-ADForest azureyun.local |ft SchemaMaster,DomainNamingMaster
Get-ADDomain azureyun.local |ft InfrastructureMaster,Pdcemulator,RidMaster

4、执行架构主机角色(Schema Master)、PDC 模拟主机角色(PDC Emulator)角色迁移,根据提示回车确认:

Move-ADDirectoryServerOperationMasterRole -Identity Bdc -OperationMasterRole SchemaMaster,PDCEmulator -Force

5、此时我们通过Powershell分别查看林范围跟域范围操作主机角色,发现迁移均已成功:

Get-ADForest azureyun.local |ft SchemaMaster,DomainNamingMaster
Get-ADDomain azureyun.local |ft InfrastructureMaster,Pdcemulator,RidMaster

附操作实例图如下:

技术分享图片

附快速操作流程:

A、查看当前域控制器名称,并确认当前林范围跟域范围操作主机角色信息:

技术分享图片

B、执行Powershell命令对五个角色进行一次性迁移操作:

Move-ADDirectoryServerOperationMasterRole -Identity Major -OperationMasterRole SchemaMaster,DomainNamingMaster,PDCEmulator,InfrastructureMaster,RIDMaster -force
移动操作主机角色
你要将角色"SchemaMaster"移动到服务器"Major.azureyun.local"中吗?
[Y] 是(Y) [A] 全是(A) [N] 否(N) [L] 全否(L) [S] 暂停(S) [?] 帮助 (默认值为"Y"):
移动操作主机角色
你要将角色"DomainNamingMaster"移动到服务器"Major.azureyun.local"中吗?
[Y] 是(Y) [A] 全是(A) [N] 否(N) [L] 全否(L) [S] 暂停(S) [?] 帮助 (默认值为"Y"):
移动操作主机角色
你要将角色"PDCEmulator"移动到服务器"Major.azureyun.local"中吗? 
[Y] 是(Y) [A] 全是(A) [N] 否(N) [L] 全否(L) [S] 暂停(S) [?] 帮助 (默认值为"Y"):
移动操作主机角色
你要将角色"InfrastructureMaster"移动到服务器"Major.azureyun.local"中吗? 
[Y] 是(Y) [A] 全是(A) [N] 否(N) [L] 全否(L) [S] 暂停(S) [?] 帮助 (默认值为"Y"):
移动操作主机角色
你要将角色"RIDMaster"移动到服务器"Major.azureyun.local"中吗? 
[Y] 是(Y) [A] 全是(A) [N] 否(N) [L] 全否(L) [S] 暂停(S) [?] 帮助 (默认值为"Y"):
PS C:\>

技术分享图片

C、查看当前FSMO角色信息,发现已经迁移成功。

PS C:\> Get-ADForest azureyun.local |ft SchemaMaster,DomainNamingMaster
SchemaMaster DomainNamingMaster
------------ ------------------
Major.azureyun.local Major.azureyun.local
PS C:\> Get-ADDomain azureyun.local |ft InfrastructureMaster,Pdcemulator,RidMaster
InfrastructureMaster Pdcemulator RidMaster
-------------------- ----------- ---------
Major.azureyun.local Major.azureyun.local Major.azureyun.local

技术分享图片

通过图形化、Ntdsutil命令行及Powershell命令三种方法进行FSMO角色迁移,我们发现还是通过Powershell进行迁移操作更简单更快捷,希望可以帮到大家。


以上是关于AD当中的 架构主机和结构主机和域命名主机是啥意思的主要内容,如果未能解决你的问题,请参考以下文章

Windows Server 2016-图形化迁移FSMO角色

Windows Server 2016-查询FSMO角色信息的三种方法

操作主机---运维笔记

adhoc,wlan,AP各是啥网络,用的啥协议

#yyds干货盘点#Windows Server之AD域控转移

转移和占用操作主机