Active Directory的主要还原Active Directory系列之五.docx
- 文档编号:13362876
- 上传时间:2023-06-13
- 格式:DOCX
- 页数:10
- 大小:372.10KB
Active Directory的主要还原Active Directory系列之五.docx
《Active Directory的主要还原Active Directory系列之五.docx》由会员分享,可在线阅读,更多相关《Active Directory的主要还原Active Directory系列之五.docx(10页珍藏版)》请在冰点文库上搜索。
ActiveDirectory的主要还原ActiveDirectory系列之五
ActiveDirectory的授权还原
在上篇博文中我们介绍了如何在域中部署额外域控制器,额外域控制器有很多好处,例如可以平衡用户对AD的访问压力,有利于避免唯一的域控制器损坏所导致域的崩溃。
从上篇博文中我们得知,域内所有的域控制器都有一个内容相同的ActiveDirectory,而且ActiveDirectory的内容是动态平衡的,也就是说任何一个域控制器修改了ActiveDirectory,其他的域控制器都会把这个ActiveDirectory的变化复制过去。
今天我们要考虑这么一个问题,如果域中有多个域控制器,但他们所拥有的ActiveDirectory内容不一致,那么应该以哪个域控制器的ActiveDirectory内容为准?
有的朋友可能会疑惑,怎么会出现这种情况呢?
其实假如有个域控制器由于更换硬件导致有几天时间没有在线,而其他的域控制器在这段时间对ActiveDirectory进行了修改,那么当这个域控制器重新上线时就会出现我们所提到的这种情形。
当域控制器们发现彼此的ActiveDirectory的内容不一致,他们就需要分析一下ActiveDirectory的优先级,从而决定以哪个域控制器的ActiveDirectory内容为准。
ActiveDirectory的优先级比较主要考虑三方面因素,分别是:
1 版本号
2 时间
3 GUID
版本号指的是ActiveDirectory对象的修改次数,版本号高者优先。
例如域中有两个域控制器A和B,A域控制器上的用户administrator口令被修改了4次,最后被改为12345;B域控制器上的用户administrator口令被修改了5次,最后被改为123456。
那么A和B发现他们的ActiveDirectory中administrator口令不一致,这时A和B会分析版本号,发现版本号分别是4和5,这时A就会把B的ActiveDirectory内容复制到本机的ActiveDirecotry中。
经过这么一轮复制后,A和B的ActiveDirectory内容就达到了新的平衡,他们ActiveDirectory中所有对象的版本号也都完全一致了。
如果A和B两个域控制器都是对administrator口令修改了4次,那么版本号就是相同的。
这种情况下两个域控制器就要比较时间因素,看哪个域控制器完成修改的时间靠后,时间靠后者优先。
这里我们顺便提及一下,ActiveDirectory中时间是个非常重要的因素,域内计算机的时间误差不能超过5分钟,而且ActiveDirectory还有一个墓碑时间的限制,这些我们以后再详细加以说明。
如果A和B两个域控制器的版本号和时间都完全一致,这时就要比较两个域控制器的GUID了,显然这完全是个随机的结果。
一般情况下时间完全相同的非常罕见,因此GUID这个因素只是一个备选方案。
说了这么多的ActiveDirectory优先级原理,我们引入一个具体的例子让大家加深理解。
如下图所示,域中有两个域控制器Florence和Firenze。
现在域中有一个用户张建国,我们在Firenze上对ActiveDirectory已经进行了备份。
现在我们在Florence上不小心把张建国误删除了,显然Firenze会很快把ActiveDirectory中的张建国也删除,以便和Florence的ActiveDirectory保持一致。
那么我们应该怎么做才能把张建国给恢复回来呢?
很多朋友会很自然地想到利用Firenze上的ActiveDirectory备份来解决这个问题,既然备份中有张建国,那么把备份还原回来不就OK了吗?
这个问题没这么简单,如果域中只有一个域控制器,那么用备份还原是成立的。
但现在域中有两个域控制器,我们就要好好考虑一下了。
Firenze从备份还原后,Florence和Firenze的ActiveDirectory内容就不一样了,那么Florence和Firenze的ActiveDirectory哪个优先级更高呢?
哦,不对,似乎是Florence的版本号更高一些!
那我们就可以从理论上得出结论,Firenze从备份还原之后,ActiveDirectory中已经拥有了张建国的用户账号,但Firenze和Florence比较了ActiveDirectory之后,Firenze认为Florence的ActiveDirectory比自己的优先级高,因此Firenze会把Florence的ActiveDirectory复制过来,这样一来,刚被还原的张建国肯定会被重新删除掉!
难道我们对此就无能为力了吗?
不是的,在Firenze从备份还原ActiveDirectory之后,我们可以利用一个工具NTDSUTIL.EXE来修改ActiveDirectory对象的版本号,让Firenze的版本号大于Florence的版本号,这样我们就可以利用游戏规则顺利地达到目的了。
这种还原方式我们称为授权还原,下面我们通过一个实例为大家演示一下具体过程。
现在的场景是Firenze已经对ActiveDirectory进行了备份,备份中包含了域用户张建国。
在备份之后我们误删除了张建国,现在我们在Firenze上开始利用备份进行主要还原。
首先在Firenze上重启计算机,BIOS自检后按下F8,如下图所示,选择进入目录服务还原模式。
目录服务还原模式可以把ActiveDirectory挂起,适合我们从备份还原ActiveDirectory。
进入目录服务还原模式后,我们从附件中启动备份工具,如下图所示,选择下一步继续。
选择还原文件和设置。
选择从备份还原ActiveDirectory。
点击确定开始ActiveDirectory的还原。
如下图所示,还原结束后,千万别选择重启计算机,我们还没有修改ActiveDirectory的版本号呢,确保选择“否”。
还原结束后在Firenze的命令提示符下运行NTDSUTIL,如下图所示。
运行了NTDSUTIL后,我们可以输入?
来获取当前环境下的可执行命令帮助,如下图所示,我们运行Authoritativerestore来修改AD对象的版本号。
如下图所示,我们可以简单地运行restoredatabase,这样整个AD内所有对象的版本号都将加到最大,版本号加到最大是什么含义呢?
微软规定,AD对象的版本号每天最多可以增加10万。
在本例中我们不需要把AD中所有对象的版本号都增加到最大,只要修改张建国的版本号就可以了。
因此我们可以使用RestoreObject命令只针对张建国的版本号进行修改,那如何在AD中表示张建国呢?
按照目录对象的命名规范,张建国隶属于ADTEST.COM域中的人事部组织单位,那我们描述张建国就应该使用cn=张建国,ou=人事部,dc=adtest,dc=com。
如下图所示,我们输入修改指令后观察一下运行的效果。
系统询问是否执行授权还原,我们选择“是”。
如下图所示,授权还原成功完成,用quit命令退出NTDSUTIL。
授权还原结束后我们重启Firenze,如下图所示,Firenze的AD中已经重新拥有了用户张建国,修改版本号成功了。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Active Directory的主要还原Active Directory系列之五 Directory 主要 还原 系列