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

简介:

[原创]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的版本号呢,保持以下界面,打开命令提示符窗口。

clip_image002

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

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

clip_image004

点是, 看下完整命令效果

clip_image006

结果就是预想的结果拉!


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


相关文章
|
7月前
|
设计模式 安全 Java
【分布式技术专题】「Tomcat技术专题」 探索Tomcat技术架构设计模式的奥秘(Server和Service组件原理分析)
【分布式技术专题】「Tomcat技术专题」 探索Tomcat技术架构设计模式的奥秘(Server和Service组件原理分析)
110 0
|
2月前
|
人工智能 JavaScript 网络安全
ToB项目身份认证AD集成(三完):利用ldap.js实现与windows AD对接实现用户搜索、认证、密码修改等功能 - 以及针对中文转义问题的补丁方法
本文详细介绍了如何使用 `ldapjs` 库在 Node.js 中实现与 Windows AD 的交互,包括用户搜索、身份验证、密码修改和重置等功能。通过创建 `LdapService` 类,提供了与 AD 服务器通信的完整解决方案,同时解决了中文字段在 LDAP 操作中被转义的问题。
|
4月前
|
Kubernetes Serverless API
Kubernetes 的架构问题之利用不可变性来最小化对API Server的访问如何解决
Kubernetes 的架构问题之利用不可变性来最小化对API Server的访问如何解决
83 7
|
缓存 Unix 调度
[笔记]深入解析Windows操作系统《二》系统架构(一)
[笔记]深入解析Windows操作系统《二》系统架构
344 0
|
7月前
|
存储 安全 网络协议
Windows安全加固-AD建立与加入
Windows安全加固-AD建立与加入
145 0
|
7月前
|
存储 前端开发 JavaScript
Java电子病历编辑器项目源码 采用B/S(Browser/Server)架构
Java电子病历编辑器项目源码 采用B/S(Browser/Server)架构
114 0
|
7月前
|
运维 Oracle 关系型数据库
LIS实验室信息管理系统功能模块(Oracle数据库、Client/Server架构)
LIS实验室信息管理系统功能模块(Oracle数据库、Client/Server架构)
122 0
|
数据采集 数据库
医院LIS系统源码,SaaS架构的Client/Server应用
LIS系统集申请、采样、核收、计费、检验、审核、发布、质控、查询、耗材控制等检验科工作为一体的网络管理系统。它的开发和应用将加快检验科管理的统一化、网络化、标准化的进程。
|
存储 安全 Unix
[笔记]深入解析Windows操作系统《二》系统架构(五)
[笔记]深入解析Windows操作系统《二》系统架构(五)
146 0
|
存储 安全 API
[笔记]深入解析Windows操作系统《二》系统架构(四)
[笔记]深入解析Windows操作系统《二》系统架构(四)
121 0