一、Active Directory操作主机角色概述
|
Active Directory 定义了五种操作主机角色(又称FSMO): |
域命名主机 domain naming master |
相对标识号 (RID) 主机 RID master |
基础结构主机 infrastructure master |
而每种操作主机角色负担不同的工作,具有不同的功能: |
具有架构主机角色的 D
制到目录林中的所有其它域
构主机。
|
C 是可以更新目录架构的唯一 D
控制器中。 架构主机是基于目
|
C。这些架构更新会从架构主机复
录林的,整个目录林中只有一个架
|
具有域命名主机角色的 DC 是可以执行以下任务的唯一 DC: |
此操作主机负责向其它
(例如用户、组或计算机)
标识符 (SID)。 每一个Win
。RID 主机通过分配不同的
还可以在同一目录林中的不
|
DC 分配 RID 池。只有一个服
时,需要将 RID 与域范围内的
dows 2000 DC 都会收到用于创
池来确保这些 ID 在每一个 DC
同域之间移动所有对象。
|
务器执行此任务。在创建安全主体
标识符相结合,以创建唯一的安全
建对象的 RID 池(默认为 512)
上都是唯一的。通过 RID 主机,
|
域命名主机是基于目录
机是基于域的,目录林中的
|
林的,整个目录林中只有一个域
每个域都有自己的相对标识号(
|
命名主机。相对标识号(RID)主
RID)主机
|
向后兼容低级客户端和服务器,允许
Windows 2000 环境。 本机 Windows 200
失败后,它会与 PDCE 取得联系,以查看
码更改还没有被复制到验证 DC 中。
|
Windows NT4.0 备份域控制器 (BDC) 加入到新的
0 环境将密码更改转发到 PDCE。每当 DC 验证密码
该密码是否可以在那里得到验证,也许其原因在于密
|
时间同步 — 目录林中各个域的 PDC
|
E 都会与目录林的根域中的 PDCE 进行同步。
|
PDCE是基于域的,目录林中的每个域都有自己的PDCE。 |
基础结构主机确保所有
该对象的全局唯一标识符 (
对象移动,则在域中担当结
。
|
域间操作对象的一致性。当引用
GUID)、安全标识符 (SID) 和可
构主机角色的 DC 会负责更新该
|
另一个域中的对象时,此引用包含
分辨的名称 (DN)。如果被引用的
域中跨域对象引用中的 SID 和 DN
|
基础结构主机是基于域的,目录林中的每个域都有自己的基础结构主机 |
默认,这五种FMSO存在于目录林
标识号 (RID) 主机、PDCE 、基础结构主
|
根域的第一台DC(主域控制器)上,而子域中的相对
机存在于子域中的第一台DC。
|
--------------------
----------------
|
----------------------------
|
----------------
|
公司Test.com(虚拟)
DC-02.test.com。现主域控
DC-01.test.com的系统状态
怎么让额外域控制器(DC-0
行,并在损坏的主域控制器
|
有一台主域控制器DC-01.test.c
制器(DC-01.test.com)由于硬
备份,没办法通过备份修复主域
2.test.com)替代主域控制器,
硬件修理好之后,如何使损坏的
|
om,还有一台额外域控制器
件故障突然损坏,事先又没有
控制器(DC-01.test.com),我们
使Acitvie Directory继续正常运
主域控制器恢复。
|
如果你的第一台DC坏
种FMSO,并需要把额外
|
了,还有额外域控制器正常,需
域控制器设置为GC。
|
要在一台额外域控制器上夺取这五
|
--------------------------------
------------------------
|
------------------------
|
三、从AD中清除主域控制器DC-01.test.com对象
|
3.1在额外域控制器(DC-02.test.com
(DC-01.test.com)从AD中删除;
|
)上通过ntdsutil.exe工具把主域控制器
|
ntdsutil: metadata cleanup |
<>
metadata cleanup: se
|
lect operation target
|
select operation target: connections |
<>
server connections:
|
connect to domain test.com
|
select operation target: list sites |
0 - CN=Default-First-Site-Name,C
|
N=Sites,CN=Configuration,DC=test,DC=com
|
select operation target: select site 0 |
Site - CN=Default-Fi
|
rst-Site-Name,CN=Sites,CN=Co
|
nfiguration,DC=test,DC=com
|
No current Naming Context |
<>
select operation tar
|
get: List domains in site
|
select operation target: select
|
domain 0
|
Site - CN=Default-Fi
|
rst-Site-Name,CN=Sites,CN=Co
|
nfiguration,DC=test,DC=com
|
No current Naming Context |
select operation target: List se
|
rvers for domain in site
|
0 - CN=DC-01,CN=Serv
onfiguration,DC=te
|
ers,CN=Default-First-Site-Na
|
me,CN=Sites,CN=C
|
1 - CN=DC-02,CN=Serv
onfiguration,DC=te
|
ers,CN=Default-First-Site-Na
|
me,CN=Sites,CN=C
|
select operation target: select
|
server 0
|
select operation target: quit |
metadata cleanup:Remove selected server |
3.2使用ADSI EDIT工具
controllers中DC-01服务器
|
删除Active Directory users a
对象,
|
nd computers中的Domain
|
ADSI EDIT是Windows 2000 support
tool,安装程序在windows 2000光盘中的
Domain NC[DC-02.test.com],展开OU=Do
,把DC-01服务器对象删除,如图1:
|
tools中的工具,你需要安装Windows 2000 support
support\tools目录下。打开ADSI EDIT工具,展开
main controllers,右击CN=DC-01,然后选择Delete
|
3.3 在Active Directory Sites and
|
Service中删除DC-01服务器对象
|
打开Administrative t
开Default-First-Site-Nam
:
|
ools中的Active Directory Sit
e,展开Servers,右击DC-01,
|
es and Service,展开Sites,展
选择Delete,单击Yes按钮,如图2
|
--------------------
----------------
|
----------------------------
|
----------------
|
四、在额外域控制器上通过ntdsutil.exe工具执行夺取五种FMSO操作
|
fsmo maintenance: Select operati
|
on target
|
select operation target: connections |
server connections: connect to d
|
omain test.com
|
select operation target: list sites |
0 - CN=Default-First
|
-Site-Name,CN=Sites,CN=Confi
|
guration,DC=test,DC=com
|
select operation target: select site 0 |
Site - CN=Default-Fi
|
rst-Site-Name,CN=Sites,CN=Co
|
nfiguration,DC=test,DC=com
|
No current Naming Context |
<>
select operation tar
|
get: List domains in site
|
<>
select operation tar
|
get: select domain 0
|
Site - CN=Default-Fi
|
rst-Site-Name,CN=Sites,CN=Co
|
nfiguration,DC=test,DC=com
|
No current Naming Context |
select operation target: List se
|
rvers for domain in site
|
0 - CN=DC-02,CN=Serv
onfiguration,DC=te
|
ers,CN=Default-First-Site-Na
|
me,CN=Sites,CN=C
|
<>
select operation tar
|
get: select server 0
|
select operation target: quit |
fsmo maintenance:Seize domain na
|
ming master
|
<>
fsmo maintenance:Sei
|
ze infrastructure master
|
fsmo maintenance:Seize PDC |
fsmo maintenance:Seize RID master |
fsmo maintenance:Seize schema master |
(注:Seize是在原FSMO不在线时进
|
行操作,如果原FSMO在线,需要使用Transfer操作)
|
--------------------
----------------
|
----------------------------
|
----------------
|
五、设置额外控制(DC-02.test.com)为GC(全局编录)
|
打开Administrative T
开Default-First-Site-Nam
Settings选择Properties,
动服务器。
|
ools中的Active Directory Sit
e,展开Servers,展开DC-02.te
然后在"Global Catalog"前面打
|
es and Services,展开Sites,展
st.com(额外控制器),右击NTDS
勾,单击"确定"按钮,然后重新启
|
--------------------------------
------------------------
|
------------------------
|
修理好DC-01.test.com
2000 Server,安装好Windo
你需要使DC-01.test.com担
操作就行了(注意:不能用
DC-01.test.com为GC,取消
|
损坏的硬件之后,在DC-01.test
ws 2000 Server之后,再运行Dc
任五种FMSO角色,通过ntdsutil
Seize)。并通过Active Direct
DC-02.test.com的GC功能。
|
.com服务器重新安装Windows
promo升成额外的域控制器;如果
工具进行角色转换,进行Transfer
ory Sites and Services设置
|
建议domain naming master不要和RI
必须为GC。
|
D master在一台DC上,而domain naming master同时
|
--------------------------------
------------------------
|
------------------------
|
给大家一个脚本,用于
它.
|
检测AD中五种FSMO角色,把下面
|
的代码,保存为FSMO.VBS,然后执行
|
Set objRootDSE = GetObject("LDAP
|
://rootDSE")
|
Set objSchema = GetObject("LDAP:
|
//" & objRootDSE.Get("schemaNamingContext"))
|
strSchemaMaster = objSchema.Get(
|
"fSMORoleOwner")
|
Set objNtds = GetObject("LDAP://
|
" & strSchemaMaster)
|
Set objComputer = GetObject(objN
|
tds.Parent)
|
text="Forest-wide Sc
|
hema Master FSMO: " & objCom
|
puter.Name & vbCrLf
|
Set objComputer = Nothing |
Set objPartitions =
|
GetObject("LDAP://CN=Partiti
|
ons," & _
|
objRootDSE.Get("configurationNam
|
ingContext"))
|
strDomainNamingMaster = objParti
|
tions.Get("fSMORoleOwner")
|
Set objNtds = GetObject("LDAP://
|
" & strDomainNamingMaster)
|
Set objComputer = GetObject(objN
|
tds.Parent)
|
text=text&"Forest-wi
vbCrLf
|
de Domain Naming Master FSMO
|
: " & objComputer.Name &
|
Set objComputer = Nothing |
Set objDomain = GetObject("LDAP:
|
//" & objRootDSE.Get("defaultNamingContext"))
|
strPdcEmulator = objDomain.Get("
|
fSMORoleOwner")
|
Set objNtds = GetObj
|
ect("LDAP://" & strPdcEmulat
|
or)
|
Set objComputer = GetObject(objN
|
tds.Parent)
|
text=text&"Domain's
|
PDC Emulator FSMO: " & objCo
|
mputer.Name & vbCrLf
|
Set objComputer = Nothing |
Set objRidManager = GetObject("L
|
DAP://CN=RID Manager$,CN=System," & _
|
objRootDSE.Get("defaultNamingContext")) |
strRidMaster = objRidManager.Get
|
("fSMORoleOwner")
|
Set objNtds = GetObj
|
ect("LDAP://" & strRidMaster
|
)
|
Set objComputer = GetObject(objN
|
tds.Parent)
|
text=text&"Domain's RID Master F
|
SMO: " & objComputer.Name & vbCrLf
|
Set objComputer = Nothing |
Set objInfrastructur
|
e = GetObject("LDAP://CN=Inf
|
rastructure," & _
|
objRootDSE.Get("defaultNamingContext")) |
strInfrastructureMaster = objInf
|
rastructure.Get("fSMORoleOwner")
|
Set objNtds = GetObj
|
ect("LDAP://" & strInfrastru
|
ctureMaster)
|
Set objComputer = GetObject(objN
|
tds.Parent)
|
text=text&"Domain's Infrastructu
|
re Master FSMO: " & objComputer.Name & vbCrLf
|
text=text & vbCrLf &
|
" Design by coolnetboy(cooln
|
etboy@hotmail.com)"
|
|