windows server 2012 AD 活动目录部署系列(七)Active Directory 的授权还原
域内所有的域控制器都有一个内容相同的Active Directory,而且 Active Directory 的内容是动态平衡的,也就是说任何一个域控制器修改了 Active Directory,其他的域控制器都会把这个 Active Directory 的变化复制过去。
今天我们要考虑这么一个问题,如果域中有多个域控制器,但他们所拥有的 Active Directory 内容不一致,那么应该以哪个域控制器的 Active Directory 内容为准?可能我们会疑惑,怎么会出现这种情况呢?其实假如有个域控制器由于更换硬件导致有几天时间没有在线,而其他的域控制器在这段时间对 Active Directory 进行了修改,那么当这个域控制器重新上线时就会出现我们所提到的这种情形。
当域控制器们发现彼此的 Active Directory 的内容不一致,他们就需要分析一下 Active Directory 的优先级,从而决定以哪个域控制器的 Active Directory 内容为准。Active Directory 的优先级比较主要考虑三方面因素,分别是:
1、版本号:版本号指的是 Active Directory 对象的修改次数,版本号高者优先。例如域中有两个域控制器 A 和 B,A 域控制器上的用户 administrator 口令被修改了 4 次,最后被改为 12345;B 域控制器上的用户 administrator 口令被修改了 5次,最后被改为 123456。那么 A 和 B 发现他们的 Active Directory 中 administrator 口令不一致,这时 A 和 B 会分析版本号,发现版本号分别是 4 和 5,这时 A就会把 B 的 Active Directory内容复制到本机的 Active Direcotry中。 经过这么一轮复制后,A 和 B 的 Active Directory 内容就达到了新的平衡,他 们 Active Directory 中所有对象的版本号也都完全一致了。
2、时间:如果 A 和 B 两个域控制器都是对 administrator 口令修改了 4 次,那么版本号 就是相同的。这种情况下两个域控制器就要比较时间因素,看哪个域控制器完成修改的时间靠后,时间靠后者优先。这里我们顺便提及一下,Active Directory 中时间是个非常重要的因素,域内计算机的时间误差不能超过 5 分钟,而且 Active Directory 还有一个墓碑时间的限制,这些我们以后再详细加以说明。
3、GUID:如果 A 和 B 两个域控制器的版本号和时间都完全一致,这时就要比较两个域控制器的 GUID 了,显然这完全是个随机的结果。一般情况下时间完全相同的非常罕见,因此 GUID 这个因素只是一个备选方案。
下面我们引入一个具体的例子让大家加深理解。
1、域中有两个域控制器 Florence 和 Firenze。
2、域中有一个用户张建国,我们在 Firenze 上对 Active Directory 已经进行了备份。
3、我们在 Florence 上不小心把张建国误删除了,显然 Firenze 会很快把 Active Directory 中的张建国也删除,以便和 Florence 的 Active Directory 保持一致。
那么我们应该怎么做才能把张建国给恢复回来呢?
可能我们会想到利用 Firenze 上的 Active Directory 备份来解决这个问题,既然备份中有张建国,那么把备份还原回来不就 OK 了吗?这个问题没这么简单,如果域中只有一个域控制器,那么用备份还原是成立的。但现在域中有两个域控制器,我们就要好好考虑一下了。
发现问题:Firenze 从备份还原后,Active Directory 中已经拥有了张建国的用户账号,但 Firenze 会和 Florence 比较 Active Directory 内容,并且Florence的版本号要高,所以Firenze 认为 Florence 的 Active Directory 比自己的优先级高,因此 Firenze 会把 Florence 的 Active Directory 复制过来, 这样一来,刚被还原的张建国肯定会被重新删除掉!
解决思路:在 Firenze 从备份还原 Active Directory 之后,我们可以利用一个工具NTDSUTIL.EXE来修改Active Directory对象的版本号,让Firenze的版本号大于Florence的版本号,这样我们就可以利用达到目的了。这种还原方式我们称为授权还原,下面我们通过一个实例为大家演示一下具体过程。
现在的场景是 Firenze 已经对 Active Directory 进行了备份,备份中包含了域用户张建国。在备份之后我们误删除了张建国,现在我们在 Firenze 上开始利用备份进行主要还原。首先在 Firenze 上重启计算机,BIOS 自检后按下 F8, 如下图所示,选择进入目录服务还原模式。目录服务还原模式可以把 Active Directory 挂起,适合我们从备份还原 Active Directory。
在以下界面中,勾选“授权还原”,
点击“恢复”,过程需要10-20分钟,请稍等...
如下图所示,还原结束后,千万别选择重启计算机,我们还没有修改Active Directory的版本号呢,保持以下界面,打开命令提示符窗口。
在命令提示符中,运行了 NTDSUTIL,再运行 Authoritative restore 来修改 AD 对象的版本号。
我们可以简单地运行 restore database,这样整个 AD 内所有对
象的版本号都将加到最大,版本号加到最大是什么含义呢?微软规定,AD 对象
的版本号每天最多可以增加10万。在本例中我们不需要把AD中所有对象的版本号都增加到最大,只要修改张建国的版本号就可以了。因此我们可以使用
Restore Object 命令只针对张建国的版本号进行修改,那如何在AD中表示张建国呢?按照目录对象的命名规范,张建国隶属于
ADTEST.COM
域中的人事部组织单位,那我们描述张建国就应该使用“cn=张建国,ou=人事部,dc=adtest,dc=com”。如下图所示,我们输入修改指令后观察一下运行的效果。
运行完命令后,系统询问是否执行授权还原,我们选择“是”。
如下图所示,授权还原成功完成,用 quit 命令退出 NTDSUTIL。
重启计算机,正常启动,以域管理员登录,提示如下,
打开Active Directory用户和计算机,如下图所示,Firenze的 AD 中已经重新拥有了用户张建国,修改版本号成功了。
很多朋友会很自然地想到利用
Firenze 上的 Active Directory 备份来解决这个 问题,既然备份中有张建国,那么把备份还原回来不就 OK
了吗?这个问题没这 么简单,如果域中只有一个域控制器,那么用备份还原是成立的。但现在域中有 两个域控制器,我们就要好好考虑一下了。Firenze
从备份还原后,Florence
和 Firenze 的 Active
Directory 内容就不一样了,那么 Florence 和 Firenze 的 Active Directory
哪个优先级更高呢?哦,不对,似乎是 Florence 的版本 号更高一些!那我们就可以从理论上得出结论,Firenze 从备份还原之后,Acti
ve Directory 中已经拥有了张建国的用户账号,但 Firenze 和 Florence 比较 了
Active Directory 之后,Firenze 认为 Florence 的 Active Directory 比自 己的优先级高,因此
Firenze 会把 Florence 的 Active Directory 复制过来, 这样一来,刚被还原的张建国肯定会被重新删除掉!
难道我们对此就无能为力了吗?不是的,在 Firenze 从备份还原 Active Direc tory 之后,我们可以利用一个工具NTDSUTIL.EXE
来修改 Active Direct
ory 对象的版本号,让Firenze的版本号大于Florence的版本号,这样我们就可以利用游戏规则顺利地达到目的了。这种还原方式我们称为授权还原,下面我们通过一个实例为大家演示一下具体过程。
现在的场景是
Firenze 已经对 Active Directory 进行了备份,备份中包含了域 用户张建国。在备份之后我们误删除了张建国,现在我们在
Firenze 上开始利 用备份进行主要还原。首先在 Firenze 上重启计算机,BIOS 自检后按下 F8,
如下图所示,选择进入目录服务还原模式。目录服务还原模式可以把 Active Di rectory 挂起,适合我们从备份还原
Active Directory。
windows server 2012 AD 活动目录部署系列(七)Active Directory 的授权还原的更多相关文章
- windows server 2012 AD 活动目录部署系列(五)备份和还原域控制器
在前篇博文中,我们介绍了用户资源的权限分配,用户只要在登录时输入一次口令,就能访问基于该域所分配给他的所有资源. 但是我们需要考虑一个问题:万一域控制器坏了怎么办?!如果这个域控制器损坏了,那用户登录 ...
- windows server 2012 AD 活动目录部署加入域并创建域用户(寻找视频课程)(计算机加入域其实是本计算机的管理员账号(本机名)加入域,关联账号即可在已经加入域的计算机上面登录)
windows server 2012 AD 活动目录部署加入域并创建域用户(寻找视频课程)(计算机加入域其实是本计算机的管理员账号(本机名)加入域,关联账号即可在已经加入域的计算机上面登录) 一.总 ...
- Windows Server 2012之活动目录域服务的卸载
Windows Server 2012之活动目录域服务的卸载 2012-07-11 06:27:35 标签:Windows Server 2012 活动目录域服务 卸载 原创作品,允许转载,转载时请务 ...
- Microsoft Windows Server 2012 Ad域搭建
Microsoft Windows Server 2012 Ad域搭建 一.Active Directory概念 AD(活动目录):是一种组织资源信息的方法,目录的意义在于我们可以通过标题或者说搜索条 ...
- windows server 2012 r2 iis8.5 部署asp.net mvc4/5程序小结
windows server 2012 r2 iis8.5 部署asp.net mvc4/5程序小结 原文链接:http://www.xuanhun521.com/Blog/66d491f8-b479 ...
- Windows server 2012 AD DS 搭建步骤
服务器版本:Windows server 2012 1. 配置网络,由于本机会搭建DNS服务器,因此首选DNS服务器设置为127.0.0.1 2. 打开服务器管理器 3. 点击添加角色和功能,下 ...
- Windows Server 2012 AD域管理创建
前言 关于AD域管理及其权限划分概论: 1. AD域源于微软,适用于windows,为企业集中化管理和信息安全提供强力保障. 2. 提供域中文件夹共享,但同时又对不同用户有不用的权限. 3.通过对设备 ...
- Windows Server 2012的配置与部署
一. 背景 这里以阿里云Windows Server 2012系统的服务器为主,介绍服务器的配置以及.Net程序的发布顺序,在后续的项目管理文章中,会介绍<运维手册>的写法. 二. 步骤 ...
- windows server 2012 AD 域和站点部署系列
http://blog.csdn.net/ronsarah/article/category/1495599 http://blog.csdn.net/david_520042/article/cat ...
随机推荐
- 创建zend framework 项目要注意的
1.必须要设置变量环境 我的电脑右击-属性-高级-环境变量 则在环境变量中添加 变量名:PATH 环境值:D:\phpserver\php5.4;D:\ZendFramework\bin 把php.e ...
- UIGestureRecognizer 手势浅析
目录[-] iOS开发中的手势体系——UIGestureRecognizer分析及其子类的使用 一.引言 二.手势的抽象类——UIGestureRecognizer 1.统一的初始化方法 2.手势状态 ...
- Javascrpit学习之路一——基础知识
1.DOM 文档对象模型 定义:一个与系统平台和编程语言无关的接口,程序和脚本可以通过这个接口动态的访问和修改文档的内容.结构和样式. 2.Javascript 区分大小写.弱类型语言 变量小写:va ...
- HDU1969:Pie(二分)
Pie Time Limit : 5000/1000ms (Java/Other) Memory Limit : 65536/32768K (Java/Other) Total Submissio ...
- hdu 1001 二叉树搜索
Problem Description 判断两序列是否为同一二叉搜索树序列 Input 开始一个数n,(1<=n<=20) 表示有n个需要判断,n= 0 的时候输入结束.接下去一行是一个序 ...
- 基于IDL 的WebRS系统设计图
图1 用例图 图2 结构图
- 用Visual Studio 2015 编写驱动之前一定要注意的问题!!!
如果你确定要使用Visual Studio 2015 编写驱动,那么在你安装Visual Studio 2015 和WDK之前,一定一定要注意一件事情,那就是确保SDK和WDK版本保持一致,切记切记! ...
- ibus用上搜狗拼音词库
1.下载搜狗拼音词库 wget http://hslinuxextra.googlecode.com/files/sougou-phrases-full.7z 2.用sougou-phrases-fu ...
- pscs6
http://wenku.baidu.com/link?url=cO03xdo_GQDdFdeYTDD36ZrjeHarUu4IN-fSEoFAnDXmd5W0yKvzkNWY_vOKKIaKbCdB ...
- 关于js的几道经典题(作用域、原型链等)自己做的
1. function test() { var a = 1; setTimeout(function() { alert(a); a = 3; }, 1000); a = 2; setTimeout ...