且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

[原创]windows server 2012 AD架构 试验 系列 – 6 AD的授权还原

更新时间:2021-08-31 06:52:54

[原创]windows server 2012 AD架构 试验 系列 – 6 AD的授权还原

当域控制器们发现彼此的 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、域中有两个域控制器 DC1和 DC2。

2、域中有一个用户fuyi,我们在 DC2 上对 Active Directory 已经进行了备份。

3、我们在 DC1 上不小心把张建国误删除了,显然 DC2 会很快把 Active Directory 中的张建国也删除,以便和 DC1 的 Active Directory 保持一致。

那么我们应该怎么做才能把张建国给恢复回来呢?

可能我们会想到利用 DC2上的 Active Directory 备份来解决这个问题,既然备份中有fuyi这个账号,那么把备份还原回来不就 OK 了吗?这个问题没这么简单,如果域中只有一个域控制器,那么用备份还原是成立的。但现在域中有两个域控制器,我们就要好好考虑一下了。

发现问题:DC2 从备份还原后,Active Directory 中已经拥有了fuyi的用户账号,但DC2 会和 DC1比较 Active Directory 内容,并且DC1的版本号要高,所以DC2 认为 DC1 的 Active Directory 比自己的优先级高,因此 DC2会把 DC1的 Active Directory 复制过来, 这样一来,刚被还原的张建国肯定会被重新删除掉!

解决思路:在 DC2从备份还原 Active Directory 之后,我们可以利用一个工具NTDSUTIL.EXE来修改Active Directory对象的版本号,让DC2的版本号大于DC1的版本号,这样我们就可以利用达到目的了。这种还原方式我们称为授权还原,

试验环境:沿用上次的试验环境

现在的场景是 DC2已经对 Active Directory 进行了备份,备份中包含了域用户fuyi。在备份之后我们误删除了fuyi,现在我们在DC2 上开始利用备份进行主要还原。首先在DC2 上重启计算机,BIOS 自检后按下 F8, 如下图所示,选择进入目录服务还原模式。目录服务还原模式可以把 Active Directory 挂起,适合我们从备份还原 Active Directory。

怎么备份和还原DC2 ,请参考上节试验

注意的地方: 还原结束后,千万别选择重启计算机,我们还没有修改Active Directory的版本号呢,保持以下界面,打开命令提示符窗口。

[原创]windows server 2012 AD架构 试验 系列 – 6 AD的授权还原

在命令提示符中,运行了 NTDSUTIL,再运行 Authoritative restore 来修改 AD 对象的版本号。

我们可以简单地运行 restore database,这样整个 AD 内所有对 象的版本号都将加到最大,版本号加到最大是什么含义呢?微软规定,AD 对象 的版本号每天最多可以增加10万。在本例中我们不需要把AD中所有对象的版本号都增加到最大,只要账号fuyi的版本号就可以了.

[原创]windows server 2012 AD架构 试验 系列 – 6 AD的授权还原

点是, 看下完整命令效果

[原创]windows server 2012 AD架构 试验 系列 – 6 AD的授权还原

结果就是预想的结果拉!


本文转自 bilinyee博客,原文链接:  http://blog.51cto.com/ericfu/1624788      如需转载请自行联系原作者