多域控制器环境下Active Directory灾难恢复

http://www.microsoft.com/china/community/program/originalarticles/TechDoc/Adrecover.mspx


摘要

本文讲述了在多域控制器环境下,主域控制器由于硬件故障突然损坏,而又事先又没有做好备份,如何使额外域控制器接替它的工作,使Active Directory正常运行,并在硬件修理好之后,如何使损坏的主域控制器恢复。


目录

Active Directory操作主机角色概述

环境分析

从AD中清除主域控制器DC-01.test.com 对象

在额外域控制器上通过ntdsutil.exe工具执行夺取五种FMSO操作

设置额外域控制器为GC(全局编录)

重新安装并恢复损坏主域控制器

附:用于检测AD中五种操作主机角色的脚本

参考信息

作者介绍


一、Active Directory操作主机角色概述

Active Directory 定义了五种操作主机角色(又称FSMO):

架构主机 schema master、

域命名主机 domain naming master

相对标识号 (RID) 主机 RID master

主域控制器模拟器 (PDCE)

基础结构主机 infrastructure master

而每种操作主机角色负担不同的工作,具有不同的功能:

架构主机

具有架构主机角色的 DC 是可以更新目录架构的唯一 DC。这些架构更新会从架构主机复制到目录林中的所有其它域控制器中。 架构主机是基于目录林的,整个目录林中只有一个架构主机。

域命名主机

具有域命名主机角色的 DC 是可以执行以下任务的唯一 DC:

向目录林中添加新域。

从目录林中删除现有的域。

添加或删除描述外部目录的交叉引用对象。

相对标识号 (RID) 主机

此操作主机负责向其它 DC 分配 RID 池。只有一个服务器执行此任务。在创建安全主体(例如用户、

组或计算机)时,需要将 RID 与域范围内的标识符相结合,以创建唯一的安全标识符 (SID)。 每一个

Windows 2000 DC 都会收到用于创建对象的 RID 池(默认为 512)。RID 主机通过分配不同的池来确保这

些 ID 在每一个 DC 上都是唯一的。通过 RID 主机,还可以在同一目录林中的不同域之间移动所有对象。

域命名主机是基于目录林的,整个目录林中只有一个域命名主机。相对标识号(RID)主机是基于域的,目录林中的每个域都有自己的相对标识号(RID)主机

PDCE

主域控制器模拟器提供以下主要功能:

向后兼容低级客户端和服务器,允许 Windows NT4.0 备份域控制器 (BDC) 加入到新的 Windows 2000 环境。 本机 Windows 2000 环境将密码更改转发到 PDCE。每当 DC 验证密码失败后,它会与 PDCE 取得联系,以查看该密码是否可以在那里得到验证,也许其原因在于密码更改还没有被复制到验证 DC 中。

时间同步 — 目录林中各个域的 PDCE 都会与目录林的根域中的 PDCE 进行同步。

PDCE是基于域的,目录林中的每个域都有自己的PDCE。

基础结构主机

基础结构主机确保所有域间操作对象的一致性。当引用另一个域中的对象时,此引用包含该对象的

全局唯一标识符 (GUID)、安全标识符 (SID) 和可分辨的名称 (DN)。如果被引用的对象移动,则在域中担

当结构主机角色的 DC 会负责更新该域中跨域对象引用中的 SID 和 DN。

基础结构主机是基于域的,目录林中的每个域都有自己的基础结构主机

默认,这五种FMSO存在于目录林根域的第一台DC(主域控制器)上,而子域中的相对标识号 (RID) 主机、PDCE 、基础结构主机存在于子域中的第一台DC。


二、环境分析

公司Test.com(虚拟)有一台主域控制器DC-01.test.com,还有一台额外域控制器DC-02.test.com。现主域控制器(DC-01.test.com)由于硬件故障突然损坏,事先又没有DC-01.test.com的系统状态备份,没办法通过备份修复主域控制器(DC-01.test.com),我们怎么让额外域控制器(DC-02.test.com)替代主域控制器,使Acitvie Directory继续正常运行,并在损坏的主域控制器硬件修理好之后,如何使损坏的主域控制器恢复。

如果你的第一台DC坏了,还有额外域控制器正常,需要在一台额外域控制器上夺取这五种FMSO,并需要把额外域控制器设置为GC。


三、从AD中清除主域控制器DC-01.test.com对象

3.1在额外域控制器(DC-02.test.com)上通过ntdsutil.exe工具把主域控制器(DC-01.test.com)从AD中删除;

c:>ntdsutil

ntdsutil: metadata cleanup

metadata cleanup: select operation target

select operation target: connections

server connections: connect to domain test.com

select operation target: list sites

Found 1 site(s)

0 - CN=Default-First-Site-Name,CN=Sites,CN=Configuration,DC=test,DC=com

select operation target: select site 0

Site - CN=Default-First-Site-Name,CN=Sites,CN=Configuration,DC=test,DC=com

No current domain

No current server

No current Naming Context

select operation target: List domains in site

Found 1 domain(s)

0 - DC=test,DC=com

Found 1 domain(s)

0 - DC=test,DC=com

select operation target: select domain 0

Site - CN=Default-First-Site-Name,CN=Sites,CN=Configuration,DC=test,DC=com

Domain - DC=test,DC=com

No current server

No current Naming Context

select operation target: List servers for domain in site

Found 2 server(s)

0 - CN=DC-01,CN=Servers,CN=Default-First-Site-Name,CN=Sites,CN=Configuration,DC=te

st,DC=com

1 - CN=DC-02,CN=Servers,CN=Default-First-Site-Name,CN=Sites,CN=Configuration,DC=te

st,DC=com

select operation target: select server 0

select operation target: quit

metadata cleanup:Remove selected server

出现对话框,按“确定“删除DC-01主控服务器。

metadata cleanup:quit

ntdsutil: quit

3.2使用ADSI EDIT工具删除Active Directory users and computers中的Domain controllers中DC-01服务器对象,

ADSI EDIT是Windows 2000 support tools中的工具,你需要安装Windows 2000 support tool,安装程序在windows 2000光盘中的support\tools目录下。打开ADSI EDIT工具,展开Domain NC[DC-02.test.com],展开OU=Domain controllers,右击CN=DC-01,然后选择Delete,把DC-01服务器对象删除,如图1:

3.3 在Active Directory Sites and Service中删除DC-01服务器对象

打开Administrative tools中的Active Directory Sites and Service,展开Sites,展开Default-First-Site-Name,展开Servers,右击DC-01,选择Delete,单击Yes按钮,如图2:


四、在额外域控制器上通过ntdsutil.exe工具执行夺取五种FMSO操作

c:>ntdsutil

ntdsutil: roles

fsmo maintenance: Select operation target

select operation target: connections

server connections: connect to domain test.com

select operation target: list sites

Found 1 site(s)

0 - CN=Default-First-Site-Name,CN=Sites,CN=Configuration,DC=test,DC=com

select operation target: select site 0

Site - CN=Default-First-Site-Name,CN=Sites,CN=Configuration,DC=test,DC=com

No current domain

No current server

No current Naming Context

select operation target: List domains in site

Found 1 domain(s)

0 - DC=test,DC=com

select operation target: select domain 0

Site - CN=Default-First-Site-Name,CN=Sites,CN=Configuration,DC=test,DC=com

Domain - DC=test,DC=com

No current server

No current Naming Context

select operation target: List servers for domain in site

Found 1 server(s)

0 - CN=DC-02,CN=Servers,CN=Default-First-Site-Name,CN=Sites,CN=Configuration,DC=te

st,DC=com

select operation target: select server 0

select operation target: quit

fsmo maintenance:Seize domain naming master

出现对话框,按“确定“

fsmo maintenance:Seize infrastructure master

出现对话框,按“确定“

fsmo maintenance:Seize PDC

出现对话框,按“确定“

fsmo maintenance:Seize RID master

出现对话框,按“确定“

fsmo maintenance:Seize schema master

出现对话框,按“确定“

fsmo maintenance:quit

ntdsutil: quit

(注:Seize是在原FSMO不在线时进行操作,如果原FSMO在线,需要使用Transfer操作)


五、设置额外控制(DC-02.test.com)为GC(全局编录)

打开Administrative Tools中的Active Directory Sites and Services,展开Sites,展开Default-First-Site-Name,展开Servers,展开DC-02.test.com(额外控制器),右击NTDS Settings选择Properties,然后在"Global Catalog"前面打勾,单击"确定"按钮,然后重新启动服务器。


六、重新安装并恢复损坏主域控制器

修理好DC-01.test.com损坏的硬件之后,在DC-01.test.com服务器重新安装Windows 2000 Server,安装好Windows 2000 Server之后,再运行Dcpromo升成额外的域控制器;如果你需要使DC-01.test.com担任五种FMSO角色,通过ntdsutil工具进行角色转换,进行Transfer操作就行了(注意:不能用Seize)。并通过Active Directory Sites and Services设置DC-01.test.com为GC,取消DC-02.test.com的GC功能。

建议domain naming master不要和RID master在一台DC上,而domain naming master同时必须为GC。


:用于检测AD中五种操作主机角色的脚本

给大家一个脚本,用于检测AD中五种FSMO角色,把下面的代码,保存为FSMO.VBS,然后执行它.

Set objRootDSE = GetObject("LDAP://rootDSE")

Dim text

' Schema Master

Set objSchema = GetObject("LDAP://" & objRootDSE.Get("schemaNamingContext"))

strSchemaMaster = objSchema.Get("fSMORoleOwner")

Set objNtds = GetObject("LDAP://" & strSchemaMaster)

Set objComputer = GetObject(objNtds.Parent)

text="Forest-wide Schema Master FSMO: " & objComputer.Name & vbCrLf

Set objNtds = Nothing

Set objComputer = Nothing

' Domain Naming Master

Set objPartitions = GetObject("LDAP://CN=Partitions," & _

objRootDSE.Get("configurationNamingContext"))

strDomainNamingMaster = objPartitions.Get("fSMORoleOwner")

Set objNtds = GetObject("LDAP://" & strDomainNamingMaster)

Set objComputer = GetObject(objNtds.Parent)

text=text&"Forest-wide Domain Naming Master FSMO: " & objComputer.Name & vbCrLf

Set objNtds = Nothing

Set objComputer = Nothing

' PDC Emulator

Set objDomain = GetObject("LDAP://" & objRootDSE.Get("defaultNamingContext"))

strPdcEmulator = objDomain.Get("fSMORoleOwner")

Set objNtds = GetObject("LDAP://" & strPdcEmulator)

Set objComputer = GetObject(objNtds.Parent)

text=text&"Domain's PDC Emulator FSMO: " & objComputer.Name & vbCrLf

Set objNtds = Nothing

Set objComputer = Nothing

' RID Master

Set objRidManager = GetObject("LDAP://CN=RID Manager$,CN=System," & _

objRootDSE.Get("defaultNamingContext"))

strRidMaster = objRidManager.Get("fSMORoleOwner")

Set objNtds = GetObject("LDAP://" & strRidMaster)

Set objComputer = GetObject(objNtds.Parent)

text=text&"Domain's RID Master FSMO: " & objComputer.Name & vbCrLf

Set objNtds = Nothing

Set objComputer = Nothing

' Infrastructure Master

Set objInfrastructure = GetObject("LDAP://CN=Infrastructure," & _

objRootDSE.Get("defaultNamingContext"))

strInfrastructureMaster = objInfrastructure.Get("fSMORoleOwner")

Set objNtds = GetObject("LDAP://" & strInfrastructureMaster)

Set objComputer = GetObject(objNtds.Parent)

text=text&"Domain's Infrastructure Master FSMO: " & objComputer.Name & vbCrLf

text=text & vbCrLf &" Design by coolnetboy(coolnetboy@hotmail.com)"

WScript.Echo text


参考信息

Microsoft Windows 2000 Server Resource Kit


作者介绍

黄义辉(coolnetboy@hotmail.com),持有MCSE、MCDBA证书,擅长Windows 2000、AD、Exchange 2000 Server、ISA 2000 Server、SQL Server等系统规划、部署及管理.


版权声明

凡在本网站发表的文章,作者必须保证是原创文章;如果不是原创文章,由此带来的版权纠纷由作者自己承担。微软有义务对本站点发表的文章进行审核,但您需要考虑这些文章的使用风险。本站点仅提供一个用户相互交换技术信息和学习的园地,并不对来自社区用户的技术文章承担任何风险。

<script type=text/javascript charset=utf-8 src="http://static.bshare.cn/b/buttonLite.js#style=-1&uuid=&pophcol=3&lang=zh"></script> <script type=text/javascript charset=utf-8 src="http://static.bshare.cn/b/bshareC0.js"></script>

阅读(574) | 评论(0) | 转发(0) |

0

上一篇:FSMO五种角色的作用、查找及规划

下一篇:[ZT]WINDOWS XP SP2 “数据执行保护”以及如何关闭

相关热门文章
  • 10种启动故障解决方法(转)...
  • 关于自动弹出网页的解决方法...
  • Auto CAD 2007中文版 迅雷免费...
  • 出现“high definition audio...
  • 全国计算机一级考试试题...
  • IBM DS3400 盘阵怎么查看是单...
  • 启动auditd时,报错如下,怎么...
  • CGSL系统中root密码正确,但无...
  • 在CGSL系统中,如何为不同的用...
  • CGSL系统如何设置交换分区的大...
给主人留下些什么吧!~~
评论热议

多域控制器环境下Active Directory灾难恢复相关推荐

  1. 无法与域“xxxx.com”的Active Directory域控制器(AD DC)连接 之DNS故障

    域控机DC: win7加入域控报错,发现无法加入域环境,报错内容,"无法与域"xxxx.com"的Active Directory域控制器(AD DC)连接": ...

  2. 无法与域‘xxx.com’的Active Directory域控制器..

    计算机无法加入域|不能联系域控制器 1.您无法用NetBois域名加入域. 2.组策略无法正常应用. 3.无法打开网上领居和访问共享文件. 这个问题有可能是Wins服务器没有正确配置或TCP/IP N ...

  3. 实战域树部署,Active Directory系列之十九

    实战子域部署<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />   ...

  4. 自动驾驶域控制器话题下的软件系统设计和研发管理

    一. 了解智驾域控制器软件系统 智驾域控制器部署在整车电子架构中, 通过复杂的传感器来感知实时路况 通过高精地图等辅助导航 通过底盘对车辆进行运动控制 通过冗余降级架构保证行驶安全 通过信息安全架构来 ...

  5. 客户端无法加入域,报错:“无法与域‘xxx.com’的Active Directory域控制器(AD DC)链接” 请确保键入的域名正确

    出现类似错误时,通过以下办法解决: Step1.          检查一下各个DC之间5722端口的状态 Step2.          通过抓包,看到问题的关键在于"SAM Respon ...

  6. Active Directory 灾难恢复

    请下载附件,是WORD文档, 转载于:https://blog.51cto.com/yanmin/148825

  7. 【Windows Server 2019】活动目录 (Active Directory) ——安装Acitve Directory域服务和提升为域控制器

    目录 5. 安装 Active Directory 域服务 实验目的 5.1 配置服务器的IP地址 5.2 安装Active Diretory服务 (1)添加角色和功能 (2)进入[开始之前]界面 ( ...

  8. 如何设置Active Directory域控制器

    安装第一个域控制器 请依次执行下列步骤,以便创建一个新的域,并在某一服务器上安装Active Directory服务,然后,将该服务器设定为对应于新建域的第一个域控制器: 在开始菜单上单击运行,并在随 ...

  9. 将域控服务器添加到现有域,将域控制器添加到现有 Active Directory 域时无法选择 DNS 服务器角色...

    将域控制器添加到现有 Active Directory 域时无法选择 DNS 服务器角色 09/07/2020 本文内容 本文帮助修复了在推广 Windows Server 2008 或 Window ...

最新文章

  1. 浙江大学数学专业考研试题参考解答
  2. Spring Boot 2.x整合Quartz
  3. Spring自学教程-ssh整合(六)
  4. 排序算法之计数排序、基数排序和桶排序
  5. 十进制转换成二进制列表
  6. 手动创建DataTable
  7. 文献记录(part41)--Residual multi-task learning for facial landmark localization and expression ...
  8. java sqlite3查询慢_java连接数据库进行查询优化跑不通谁能帮我调下通
  9. JSF基于事件的交流:新派方法
  10. 2017.1.20活动
  11. python numpy sum函数,numpy.sum()的使用详解
  12. macOS 新功能:【控制中心】让你的 Mac 系统更方便!
  13. SpringCloud 微服务 (十五) 服务容错 Hystrix
  14. Ubuntu 16.04安装Caffe的记录及FCN官方代码的配置
  15. php CSRF攻击与防御
  16. 《道德经》与 (更新中)
  17. Web容器(二):HTTP协议
  18. oracle12突然出现ora12514,【ORACLE】提示ORA-12514错误处理
  19. 【JMeter】分布式远程启动
  20. git在push时候出现timeout的解决方法

热门文章

  1. 作为嵌入式软件工程师在项目开发时的一些易错总结-05
  2. 王权富贵:Faster-Rcnn详解
  3. 王权富贵:pycharm安装第三方库
  4. WorldPop数据集
  5. 如何安装 EFI 分区引导
  6. 几个可以免费下载知网文档,和查重的网站
  7. UWB高精度定位落地:UWB(超宽带高精度定位)赋能智慧工地空间位置服务-人员、车辆、物资定位
  8. 【CXL】学习资源整理
  9. PTA-L2-021 点赞狂魔 (25 分)(C++写法)
  10. appendChild 和insertBefore的区别