分页: 1 / 2

Active Directory系列之一 - 为什么我们需要域?

发表于 : 2012年 11月 30日 00:02 星期五
admin
为什么需要域?

对很多刚开始钻研微软技术的朋友来说,域是一个让他们感到很头疼的对象。域的重要性毋庸置疑,微软的重量级服务产品基本上都需要域的支持,很多公司招聘工程师的要求中也都明确要求应聘者熟悉或精通Active Directory。但域对初学者来说显得复杂了一些,众多的技术术语,例如Active Directory,站点,组策略,复制拓扑,操作主机角色,全局编录….很多初学者容易陷入这些技术细节而缺少了对全局的把握。从今天开始,我们将推出Active Directory系列博文,希望对广大学习AD的朋友有所帮助。

今天我们谈论的第一个问题就是为什么需要域这个管理模型?众所周知,微软管理计算机可以使用域和工作组两个模型,默认情况下计算机安装完操作系统后是隶属于工作组的。我们从很多书里可以看到对工作组特点的描述,例如工作组属于分散管理,适合小型网络等等。我们这时要考虑一个问题,为什么工作组就不适合中大型网络呢,难道每台计算机分散管理不好吗?下面我们通过一个例子来讨论这个问题。

假设现在工作组内有两台计算机,一台是服务器Florence,一台是客户机Perth。服务器的职能大家都知道,无非是提供资源和分配资源。服务器提供的资源有多种形式,可以是共享文件夹,可以是共享打印机,可以是电子邮箱,也可以是数据库等等。现在服务器Florence提供一个简单的共享文件夹作为服务资源,我们的任务是要把这个共享文件夹的访问权限授予公司内的员工张建国,注意,这个文件夹只有张建国一个人可以访问!那我们就要考虑一下如何才能实现这个任务,一般情况下管理员的思路都是在服务器上为张建国这个用户创建一个用户账号,如果访问者能回答出张建国账号的用户名和密码,我们就认可这个访问者就是张建国。基于这个朴素的管理思路,我们来在服务器上进行具体的实施操作。

首先,如下图所示,我们在服务器上为张建国创建了用户账号。
1.jpg

然后在共享文件夹中进行权限分配,如下图所示,我们只把共享文件夹的读权限授予了用户张建国。
2.jpg

好,接下来张建国就在客户机Perth上准备访问服务器上的共享文件夹了,张建国准备访问资源\\Florence\人事档案,服务器对访问者提出了身份验证请求,如下图所示,张建国输入了自己的用户名和口令。
3.jpg

如下图所示,张建国成功地通过了身份验证,访问到了目标资源。
4.jpg

看完了这个实例之后,很多朋友可能会想,在工作组模式下这个问题解决得很好啊,我们不是成功地实现了预期目标嘛!没错,在这个小型网络中,确实工作组模型没有暴露出什么问题。但是我们要把问题扩展一下!

现在假设公司不是一台服务器,而是500台服务器,这大致是一个中型公司的规模,那么我们的麻烦就来了。如果这500台服务器上都有资源要分配给张建国,那会有什么样的后果呢?由于工作组的特点是分散管理,那么意味着每台服务器都要给张建国创建一个用户账号!张建国这个用户就必须痛不欲生地记住自己在每个服务器上的用户名和密码。而服务器管理员也好不到哪儿去,每个用户账号都重新创建500次!如果公司内有1000人呢?我们难以想象这么管理网络资源的后果,这一切的根源都是由于工作组的分散管理!现在大家明白为什么工作组不适合在大型的网络环境下工作了吧,工作组这种散漫的管理方式和大型网络所要求的高效率是背道而驰的。

既然工作组不适合大型网络的管理要求,那我们就要重新审视一下其他的管理模型了。域模型就是针对大型网络的管理需求而设计的,域就是共享用户账号,计算机账号和安全策略的计算机集合。从域的基本定义中我们可以看到,域模型的设计中考虑到了用户账号等资源的共享问题,这样域中只要有一台计算机为公司员工创建了用户账号,其他计算机就可以共享账号了。这样就很好地解决刚才我们提到的账号重复创建的问题。域中的这台集中存储用户账号的计算机就是域控制器,用户账号,计算机账号和安全策略被存储在域控制器上一个名为Active Directory的数据库中。

上述这个简单的例子说明的只是域强大功能的冰山一角,其实域的功能远远不止这些。从下篇博文我们将开始介绍域的部署以及管理,希望大家在使用过程中逐步增加感性认识,对域有更加深入及全面的了解,能够掌握好Active Directory这个微软工程师必备的重要知识点。

接下一帖,Active Directory系列之二 - 部署第一个域

---
本文出自 “岳雷的微软网络课堂” 博客
原文地址,http://yuelei.blog.51cto.com/202879/113185

Active Directory系列之二 - 部署第一个域

发表于 : 2012年 11月 30日 00:18 星期五
admin
部署第一个域

在上篇博文Active Directory系列之一 - 为什么我们需要域?中我们介绍了部署域的意义,今天我们来部署第一个域。一般情况下,域中有三种计算机,一种是域控制器,域控制器上存储着Active Directory;一种是成员服务器,负责提供邮件,数据库,DHCP等服务;还有一种是工作站,是用户使用的客户机。我们准备搭建一个基本的域环境,拓扑如下图所示,Florence是域控制器,Berlin是成员服务器,Perth是工作站。
200811241227456622995.jpg
部署一个域大致要做下列工作:

1 DNS前期准备
2 创建域控制器
3 创建计算机账号
4 创建用户账号

一 DNS前期准备

DNS服务器对域来说是不可或缺的,一方面,域中的计算机使用DNS域名,DNS需要为域中的计算机提供域名解析服务;另外一个重要的原因是域中的计算机需要利用DNS提供的SRV记录来定位域控制器,因此我们在创建域之前需要先做好DNS的准备工作。那么究竟由哪台计算机来负责做DNS服务器呢?一般工程师有两种选择,要么使用域控制器来做DNS服务器,要么使用一台单独的DNS服务器。我一般使用一台独立的计算机来充当DNS服务器,这台DNS服务器不但为域提供解析服务,也为公司其他的业务提供DNS解析支持,大家可以根据具体的网络环境来选择DNS服务器。

在创建域之前,DNS服务器需要做好哪些准备工作呢?

1 创建区域并允许动态更新

首先我们要在DNS服务器上创建出一个区域,区域的名称和域名相同,域内计算机的DNS记录都创建在这个区域中。我们在DNS服务器上打开DNS管理器,如下图所示,右键单击正向查找区域,选择新建一个区域。出现新建区域向导后,点击下一步继续。
200811241227456636938.jpg

区域类型选择“主要区域”。
200811241227456643037.jpg
区域名称和域名相同,是adtest.com。
200811241227456649350.jpg

区域一定要允许动态更新,因为在创建域的过程中需要向DNS区域中写入A记录,SRV记录和Cname记录。
200811241227456657740.jpg

区域创建完毕,点击完成结束创建。
200811241227456664971.jpg

2 检查NS和SOA记录

区域创建完成后,一定要检查一下区域的NS记录和SOA记录。在前面的DNS课程中,我们已经介绍了NS记录和SOA记录的意义,NS记录描述了有多少个DNS服务器可以解析这个区域,SOA记录描述了哪个DNS服务器是区域的主服务器。如果NS记录和SOA记录出错,域的创建过程中就无法向DNS区域中写入应有的记录。在DNS服务器上打开DNS管理器,在adtest.com区域中检查ns记录,如下图所示,我们发现ns记录不是一个有效的完全合格域名,我们需要对它进行修改。
200811241227456671343.jpg

如下图所示,我们把ns记录改为 ns.adtest.com.,解析出的IP地址和DNS服务器的IP是吻合的,这样我们就完成了ns记录的修改。
200811241227456678310.jpg
如下图所示,我们把区域的SOA记录也同样进行修改,现在区域的主服务器是ns.adtest.com.,这样SOA记录也修改完毕了。
200811241227456684390.jpg
至此,DNS准备工作完成,我们接下来可以部署域了。

二 创建域控制器

有了DNS的支持,我们现在可以开始创建域控制器了,域控制器是域中的第一台服务器,域控制器上存储着Active Directory,可以说,域控制器就是域的灵魂。我们准备在Florence上创建域控制器,首先检查Florence网卡的TCP/IP属性,注意,Florence应该使用192.168.11.1作为自己的DNS服务器。因为我们刚刚在192.168.11.1上创建了adtest.com区域。

如下图所示,在Florence上运行Dcpromo,开始域控制器的创建。
如下图所示,出现Active Directory安装向导,创建域控制器其实就是在Florence上安装一个Active Directory数据库,点击下一步继续。

Adtest.com是一个新创建的域,因为我们选择创建“新域的域控制器”。

如下图所示,我们选择创建一个“在新林中的域”,这个选项是什么意思呢?我们虽然只是简单地创建了一个域,但其实从逻辑上讲是创建了一个域林。因为域一定要隶属于域树,域树一定要隶属于域林。因为我们实际上是创建了一个域林,虽然这个域林内只有一棵域树,域树内只有一个树根。
输入域的DNS名称,adtest.com。
域的NETBIOS名称是ADTEST,由于.在NETBIOS名称中是非法字符,因为基本上域的NETBIOS名称就是域名中.之前的部分。
200811241227456857160.jpg
Active Directory数据库的路径我们使用了默认值,如果在生产环境,可以考虑把数据库和日志部分分开存储。
200811241227456863959.jpg
Sysvol文件夹的路径我们也使用默认值,至于Sysvol文件夹是干嘛的,我们后续会有介绍。
200811241227456870332.jpg
接下来Active Directory的安装向导会对DNS服务器进行检测,检查是否在DNS服务器上已经创建了和域名相同的区域,而且区域是否允许动态更新。如下图所示,DNS检测通过。注意,如果DNS检测有问题,我们应该及时排除故障,而不应该继续向下进行。
200811241227456877029.jpg
接下来要选择用户和组的默认权限,我们选择了不允许匿名用户查询域中的信息。
200811241227456883281.jpg

设置一下还原模式的管理员口令,我们从备份中恢复Active Directory时需要用到。
200811241227456890309.jpg
好,如下图所示仔细检查一下创建域的各项设置是否正确,如果没有问题我们就开工了!
200811241227456896303.jpg

如下图所示,Active Directory安装向导开始在Florence上安装Active Directory。
200811241227456903813.jpg

如下图所示,重启计算机后即可完成Active Directory的安装。
200811241227456915523.jpg

重启Florence后我们发现已经可以用域管理员的身份登录了,adtest.com域已经被成功创建了。
200811241227456921098.jpg

检查DNS服务器,我们发现DNS区域中已经自动创建了很多记录,这些记录的作用以后我们再来分析,现在大家只要注意检查一下创建域时有没有把这些记录创建出来,如果没有那就有问题了。
200811241227456928100.jpg

至此,我们完成了域控制器的创建,adtest.com域诞生了!

三 创建计算机账号

创建计算机账号就是把成员服务器和用户使用的客户机加入域,这些计算机加入域时会在Active Directory中创建计算机账号。创建计算机账号从操作上看非常简单,但其实背后涉及的东西很多,例如域控制器和加入域的计算机要共享一个密钥等等,这些内容我们在后期会为大家介绍。
以Berlin为例为大家介绍如何把计算机加入域,首先要确保Berlin已经使用了192.168.11.1作为自己的DNS服务器,否则Berlin无法利用DNS定位域控制器。
200811241227456934811.jpg

如下图所示,在Berlin的计算机属性中切换到“计算机名”标签,点击“更改”。
200811241227456940906.jpg

我们选择让Berlin隶属于域,域名是adtest.com。
200811241227456946978.jpg

这时系统需要我们输入一个有权限在Active Directory中创建计算机账号的用户名和口令,我们输入了域管理员的用户名和密码。
200811241227456952982.jpg
系统弹出一个窗口欢迎Berlin加入域,这时在Florence上打开Active Directory用户和计算机,如下图所示,我们发现Berlin的计算机账号已经被创建出来了。
200811241227456959910.jpg
四 创建用户账号

创建完计算机账号后,我们需要为企业内的员工在Active Directory中创建关联的用户账号。首先我们应该在Active Directory中利用组织单位展示出企业的管理架构,如下图所示,我们为大家演示一下如何创建一个组织单位。打开Active Directory用户和计算机,选择新建组织单位。
200811241227456965950.jpg
输入组织单位的名称,点击确定后一个组织单位就创建完成了,是不是很简单呢。
200811241227456973818.jpg

创建了组织单位后,我们就可以在组织单位中创建用户账号了,如下图所示,我们在人事部的组织单位中选择新建一个用户。
200811241227456979334.jpg

输入用户的姓名及登录名等参数,点击下一步继续。
200811241227456987211.jpg

输入用户密码,选择“密码永不过期”。
200811241227456994092.jpg

点击完成后我们就可以轻松地创建出一个用户账号。其实,用户账号中有很多的配置工作需要做,我们在后续的课程中会有一个专题为大家介绍。
200811241227457000524.jpg

目前为止,我们已经创建了一个域,也在域中创建了计算机账号和用户账号。那么,域的管理优势如何能够加以体现,目前这个域模型有没有什么缺陷呢?我们在下篇博文中将解决这个问题。

Active Directory系列之三 - 用备份进行Active Directory的灾难重建

---
本文出自 “岳雷的微软网络课堂” 博客
原文地址,http://yuelei.blog.51cto.com/202879/114661

Active Directory系列之三 - 用备份进行Active Directory的灾难重建

发表于 : 2012年 11月 30日 21:49 星期五
admin
用备份进行Active Directory的灾难重建

上篇博文中我们介绍了如何部署第一个域,现在我们来看看我们能够利用域来做些什么。域中的计算机可以共享用户账号,计算机账号和安全策略,我们来看看这些共享资源给我们在分配网络资源时带来了哪些改变。实验拓扑如下图所示,我们现在有个简单的任务,要把成员服务器Berlin上一个共享文件夹的读权限分配给公司的员工张建国。上次我们实验时已经为张建国创建了用户账号,这次我们来看看如何利用这个用户账号来实现资源分配的目标。
200811291227946129001.jpg

如下图所示,我们在成员服务器Berlin上右键点击文件夹Tools,选择“共享和安全”,准备把Tools文件夹共享出来。
200811291227946136800.jpg

把Tools文件夹共享出来,共享名为Tools,同时点击“权限”,准备把Tools文件夹的读权限只分配给张建国。
200811291227946145448.jpg

Tools文件夹的默认共享权限是Everyone组只读,我们删除默认的权限设置,点击添加按钮,准备把文件夹的读权限授予张建国。
200811291227946153224.jpg

如下图所示,我们选择adtest.com域中的张建国作为权限的授予载体,这时我们要理解域的共享用户账号的含义,在域控制器上为张建国创建了用户账号后,成员服务器分配资源时就可以使用这些用户账号了。
200811291227946160064.jpg

我们把Tools文件夹的读权限授予了张建国。
200811291227946166952.jpg

我们先用域管理员登录访问一下Berlin上的Tools共享文件夹,如下图所示,域管理员没有访问共享文件夹的权限。这个结果和我们的权限分配是一致的,我们只把共享文件夹的权限授予了张建国。
200811291227946174336.jpg

如下图所示,在Perth上以张建国的身份登录。
200811291227946181048.jpg

张建国访问Berlin上的共享文件夹Tools,如下图所示,张建国顺利地访问到了目标资源,我们的资源分配达到了预期的效果。
200811291227946189264.jpg

做完这个实验后,我们应该想一下,为什么张建国在访问共享文件夹时没有被要求身份验证呢?这是个关键问题,答案是这样的。当张建国登录时,输入的用户名和口令将送到域控制器请求验证,域控制器如果认可了张建国输入的用户名和口令,域控制器将为张建国发放一个电子令牌,令牌中描述了张建国隶属于哪些组等信息,令牌就相当于张建国的电子身份证。当张建国访问Berlin上的共享文件夹时,Berlin的守护进程会检查访问者的令牌,然后和被访问资源的访问控制列表进行比较。如果发现两者吻合,例如本例中Berlin上的共享文件夹允许域中的张建国访问,而访问者的令牌又证明了自己就是域中的张建国,那么访问者就可以透明访问资源,无需进行其他形式的身份验证。

我们可以设想一下基于域的权限分配,每天早晨公司员工上班后,在自己的计算机上输入用户名和口令,然后域控制器验证后发放令牌,员工拿到令牌后就可以透明地访问域中的各种被授权访问的资源,例如共享打印机,共享文件夹,数据库,电子邮箱等。员工除了在登录时要输入一次口令,以后在访问资源时都不需要再输入口令了,这种基于域的资源分配方式是不是非常的高效灵活呢?

但是,我们要考虑一个问题,万一这个域控制器坏了怎么办?!如果这个域控制器损坏了,那用户登录时可就无法获得令牌了,没有了这个令牌,用户就没法向成员服务器证明自己的身份,嘿嘿,那用户还能访问域中的资源吗?结果不言而喻,整个域的资源分配趋于崩溃。这个后果很严重,那我们应该如何预防这种灾难性的后果呢?我们可以考虑对活动目录进行备份以及部署额外域控制器,今天我们先看如何利用对Active Directory的备份来实现域控制器的灾难重建。

如果只有一个域控制器,那么我们可以利用Windows自带的备份工具对Active directory进行完全备份,这样万一这个域控制器有个三长两短,备份可以帮助我们从困境中解脱出来。

在Florence上依次点击 开始-程序-附件-系统工具-备份,如下图所示,出现了备份还原向导,点击下一步继续。
200811291227946197968.jpg

选择备份文件和设置。
200811291227946205768.jpg

不用备份计算机上的所有信息,我们只备份Active Directory,因此我们手工选择要备份的内容。
200811291227946211832.jpg

如下图所示,我们选择备份System State,System State中包含了Active Directory。其实我们只需要System State中的Active Directory,Registry和Sysvol就够了,但备份工具中不允许再进行粒度更细致的划分,因此我们选择备份整个System State。
200811291227946219032.jpg

我们把System State备份在C:\ADBAK目录下。

200811291227946226456.jpg

点击完成结束备份设置。
200811291227946232872.jpg

如下图所示,备份开始,等备份完成后我们把备份文件复制到文件服务器进行保存即可。
200811291227946243416.jpg

好,备份完成后,我们假设域控制器Florence发生了物理故障,现在我们用另外一台计算机来接替Florence。如下图所示,我们把这台新计算机也命名为Florence,IP设置和原域控制器也保持一致,尤其是一定要把DNS指向为ADTEST.COM提供解析支持的那个DNS服务器,在此例中就是192.168.11.1。而且新的计算机不需要创建Active Directory,我们从备份中恢复Active Directory即可。
200811291227946340080.jpg
从文件服务器上把System State的备份复制到新的Florence上,然后启动备份工具,如下图所示,选择下一步继续。
200811291227946348464.jpg

这次我们选择还原文件和设置。
200811291227946355832.jpg

如下图所示,通过浏览按钮选择要还原的文件是C:\ADBAK\BACKUP.BKF,备份工具显示出了BACKUP.BKF的编录内容,勾选要还原的内容是System State,选择下一步继续。
200811291227946368760.jpg

还原设置完毕,点击完成结束。
200811291227946375552.jpg

如下图所示,还原开始,还原结束后我们重新启动计算机即可Active Directory的重建工作。
200811291227946382624.jpg

重新启动Florence后,如下图所示,我们发现Active Directory已经恢复了。
200811291227946389592.jpg

Florence的角色也发生了改变。
200811291227946399096.jpg

尝试让域用户进行登录,一切正常,至此,Active Directory恢复完成!

如果域中唯一的域控制器发生了物理故障,那整个域的资源分配就要趋于崩溃,因此我们很有必要居安思危,未雨绸缪。使用用备份工具对Active Directory数据库进行备份,然后在域控制器崩溃时利用备份内容还原Active Directory是工程师经常使用的灾难恢复手段。这种方案简单易行,很适合小型企业使用,希望大家都能掌握这种基础手段。下次我们将介绍通过部署额外域控制器来解决Active Directory的容错和性能问题。

---
本文出自 “岳雷的微软网络课堂” 博客
原文地址,http://yuelei.blog.51cto.com/202879/116181

Active Directory系列之四 - 部署额外域控制器

发表于 : 2012年 11月 30日 22:09 星期五
admin
部署额外域控制器

在前面的博文Active Directory系列之三 - 用备份进行Active Directory的灾难重建中我们介绍了域控制器在进行网络资源分配时的核心作用,而且我们分析了一下一旦域控制器崩溃会导致的灾难场景,上篇博文中我们提出使用对AD数据备份的方法来进行域控制器的灾难重建,今天我们介绍使用额外域控制器来避免域的崩溃。

如果域中只有一台域控制器,一旦出现物理故障,我们即使可以从备份还原AD,也要付出停机等待的代价,这也就意味着公司的业务将出现停滞。部署额外域控制器,指的是在域中部署第二个甚至更多的域控制器,每个域控制器都拥有一个Active Directory数据库。使用额外域控制器的好处很多,首先是避免了域控制器损坏所造成的业务停滞,如果一个域控制器损坏了,只要域内其他的域控制器有一个是工作正常的,域用户就可以继续完成用户登录,访问网络资源等一系列工作,基于域的资源分配不会因此停滞。使用域控制器还可以起到负载平衡的作用,如果公司内只有一个域控制器,而公司用户达到上万人,假设域控制器处理一个用户登录的时间是0.1秒,那最后一个用户登录进入系统肯定要遭遇一定的延迟。如果有额外域控制器,那么每个额外域控制器都可以处理用户的登录请求,用户就不用等待那么长时间了。尤其是如果域的地理分布跨了广域网,例如域内的计算机有的在北京,有的在上海,有的在广州,那么显然上海用户的登录请求通过低速的广域网提交到北京的域控制器上进行验证不是一个效率高的办法,比较理想的办法是在北京,上海,广州都部署额外域控制器以方便用户就近登录。

域中如果有多个域控制器,那么每个域控制器上都拥有Active Directory数据库,而且域控制器上的Active Directory内容是动态同步的,也就是说,任何一个域控制器修改了Active Directory,其他的域控制器都要把这个修改作用到自己的Active Directory上,这样才能保证Active Directory数据的完整性和唯一性。否则如果每个域控制器的Active Directory内容不一致,域控制器的权威性就要受到质疑了。

提到这里,顺便说一下主域控制器这个名词,很多朋友喜欢把域内的第一台域控制器称为主域控制器,其他的额外域控制器称为辅域控制器,严格来说这种说法并不严谨。主域控制器这个术语在NT4的环境下是成立的,因为NT4的域把域控制器分为两类,主域控制器和备份域控制器。两者的区别在于只有主域控制器才能修改域内的数据,而备份域控制器只有读取域内数据的权限,类似于DNS的主服务器和辅助服务器的区别。NT4的这种结构我们称之为单主复制,而自从Win2000使用了Active Directory之后,所有的域控制器都可以自主地修改Active Directory数据库的内容,现在的域结构我们称之为多主复制。因此,Win2003域中的第一台域控制器我们称之为主域控制器是不太严谨的,虽然事实上第一台域控制器比其他的域控制器承担了更多的任务。

这次实验我们准备在域中部署一个额外域控制器,额外域控制器的角色由Firenze来承担,拓扑如下图所示,DNS服务器仍然是由一台单独的计算机192.168.11.1来承担。
200812061228551734219.jpg
首先我们要在Firenze上设置TCP/IP的属性,如下图所示,我们要确保Firenze使用的DNS服务器是正确的,因为Firenze要依靠DNS服务器来定位域控制器。Firenze不用先加入域,Firenze是工作组内的一台独立计算机也是可以的。
200812061228551745922.jpg

在Firenze上运行Dcpromo,如下图所示。
200812061228551752914.jpg

出现Active Directory的安装向导,点击下一步继续。
200812061228551759522.jpg

这次我们选择创建现有域的额外域控制器,点击下一步继续。
200812061228551766378.jpg

输入域管理员账号,用以证明自己有权限完成额外域控制器的部署。
200812061228551773762.jpg

Firenze将成为adtest.com域的额外域控制器。
200812061228551795226.jpg

Active Directory数据库的存储路径使用默认值即可。
200812061228551805579.jpg

Sysvol文件夹的存储路径也可以使用默认值。
200812061228551812546.jpg

输入目录服务还原模式的管理员密码,以后我们从备份还原Active Directory时可以用到。
200812061228551819506.jpg

确认所有的设置无误,点击下一步继续。
200812061228551826698.jpg

如下图所示,Firenze通过网络从第一个域控制器Florence那里复制Active Directory到本机。
200812061228551833362.jpg

Active Directory安装完毕,点击完成后Firenze会重新启动,至此,额外域控制器部署结束。
200812061228551839954.jpg

Firenze部署完毕后,我们打开Firenze上的Active Directory用户和计算机,如下图所示,我们可以看到Firenze已经把Florence的Active Directory内容复制了过来。
200812061228551846578.jpg

检查DNS服务器,可以看到DNS中已经有了Firneze的SRV记录。
200812061228551855546.jpg

至此,部署Firenze作为额外域控制器成功完成,从过程来看并不复杂。现在我们请大家考虑一个问题,Florence和Firenze是现在域中的两个域控制器,Florence和Firenze的Active Directory内容应该完全一致,但如果现在Florence和Firenze的Active Directory内容出现了差异,那应该以哪个域控制器的内容为主呢?问题的答案将在下篇博文中揭晓。

Active Directory系列之五 - Active Directory的主要还原

本文出自 “岳雷的微软网络课堂” 博客
原文地址,http://yuelei.blog.51cto.com/202879/117599

Active Directory系列之五 - Active Directory的主要还原

发表于 : 2012年 11月 30日 22:30 星期五
admin
Active Directory的授权还原

在上篇博文中Active Directory系列之四 - 部署额外域控制器我们介绍了如何在域中部署额外域控制器,额外域控制器有很多好处,例如可以平衡用户对AD的访问压力,有利于避免唯一的域控制器损坏所导致域的崩溃。从上篇博文中我们得知,域内所有的域控制器都有一个内容相同的Active Directory,而且Active Directory的内容是动态平衡的,也就是说任何一个域控制器修改了Active Directory,其他的域控制器都会把这个Active Directory的变化复制过去。

今天我们要考虑这么一个问题,如果域中有多个域控制器,但他们所拥有的Active Directory内容不一致,那么应该以哪个域控制器的Active Directory内容为准?有的朋友可能会疑惑,怎么会出现这种情况呢?其实假如有个域控制器由于更换硬件导致有几天时间没有在线,而其他的域控制器在这段时间对Active Directory进行了修改,那么当这个域控制器重新上线时就会出现我们所提到的这种情形。

当域控制器们发现彼此的Active Directory的内容不一致,他们就需要分析一下Active Directory的优先级,从而决定以哪个域控制器的Active Directory内容为准。Active Directory的优先级比较主要考虑三方面因素,分别是:

1 版本号
2 时间
3 GUID

版本号指的是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中所有对象的版本号也都完全一致了。

如果A和B两个域控制器都是对administrator口令修改了4次,那么版本号就是相同的。这种情况下两个域控制器就要比较时间因素,看哪个域控制器完成修改的时间靠后,时间靠后者优先。这里我们顺便提及一下,Active Directory中时间是个非常重要的因素,域内计算机的时间误差不能超过5分钟,而且Active Directory还有一个墓碑时间的限制,这些我们以后再详细加以说明。

如果A和B两个域控制器的版本号和时间都完全一致,这时就要比较两个域控制器的GUID了,显然这完全是个随机的结果。一般情况下时间完全相同的非常罕见,因此GUID这个因素只是一个备选方案。

说了这么多的Active Directory优先级原理,我们引入一个具体的例子让大家加深理解。如下图所示,域中有两个域控制器Florence和Firenze。现在域中有一个用户张建国,我们在Firenze上对Active Directory已经进行了备份。现在我们在Florence上不小心把张建国误删除了,显然Firenze会很快把Active Directory中的张建国也删除,以便和Florence的Active Directory保持一致。那么我们应该怎么做才能把张建国给恢复回来呢?
200812151229308229686.jpg

很多朋友会很自然地想到利用Firenze上的Active Directory备份来解决这个问题,既然备份中有张建国,那么把备份还原回来不就OK了吗?这个问题没这么简单,如果域中只有一个域控制器,那么用备份还原是成立的。但现在域中有两个域控制器,我们就要好好考虑一下了。Firenze从备份还原后,Florence和Firenze的Active Directory内容就不一样了,那么Florence和Firenze的Active Directory哪个优先级更高呢?哦,不对,似乎是Florence的版本号更高一些!那我们就可以从理论上得出结论,Firenze从备份还原之后,Active Directory中已经拥有了张建国的用户账号,但Firenze和Florence比较了Active Directory之后,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。
200812151229308241889.jpg

进入目录服务还原模式后,我们从附件中启动备份工具,如下图所示,选择下一步继续。
200812151229308252906.jpg

选择还原文件和设置。
200812151229308259714.jpg

选择从备份还原Active Directory。
200812151229308267786.jpg

点击确定开始Active Directory的还原。
200812151229308274946.jpg

如下图所示,还原结束后,千万别选择重启计算机,我们还没有修改Active Directory的版本号呢,确保选择“否”。
200812151229308284090.jpg

还原结束后在Firenze的命令提示符下运行NTDSUTIL,如下图所示。
200812151229308295202.jpg

运行了NTDSUTIL后,我们可以输入?来获取当前环境下的可执行命令帮助,如下图所示,我们运行Authoritative restore来修改AD对象的版本号。
200812151229308302465.jpg

如下图所示,我们可以简单地运行restore database,这样整个AD内所有对象的版本号都将加到最大,版本号加到最大是什么含义呢?微软规定,AD对象的版本号每天最多可以增加10万。在本例中我们不需要把AD中所有对象的版本号都增加到最大,只要修改张建国的版本号就可以了。因此我们可以使用Restore Object命令只针对张建国的版本号进行修改,那如何在AD中表示张建国呢?按照目录对象的命名规范,张建国隶属于ADTEST.COM域中的人事部组织单位,那我们描述张建国就应该使用cn=张建国,ou=人事部,dc=adtest,dc=com。如下图所示,我们输入修改指令后观察一下运行的效果。
200812151229308317690.jpg

系统询问是否执行授权还原,我们选择“是”。
200812151229308326978.jpg

如下图所示,授权还原成功完成,用quit命令退出NTDSUTIL。
200812151229308332761.jpg


授权还原结束后我们重启Firenze,如下图所示,Firenze的AD中已经重新拥有了用户张建国,修改版本号成功了。
200812151229308344866.jpg


Active Directory系列之六 - 离线部署额外域控制器

---
本文出自 “岳雷的微软网络课堂” 博客
原文地址,http://yuelei.blog.51cto.com/202879/119477

Active Directory系列之六 - 离线部署额外域控制器

发表于 : 2012年 11月 30日 22:53 星期五
admin
离线部署额外域控制器

在上篇博文中Active Directory系列之五 - Active Directory的主要还原我们介绍了部署额外域控制器的意义,同时介绍了如何在线部署额外域控制器,也就是额外域控制器通过网络以在线方式从复制伙伴那里获取Active Directory数据。在线部署额外域控制器是我们部署额外域控制器时的首选,它方便易行,在拥有快速网络连接的环境下使用非常合适。但我们也要考虑另外一种场景,域控制器之间是通过低速网络连接的!如果域控制器之间的网络质量不理想,例如有的域控制器需要部署到非洲,那我们就不能希望获得一个高速,稳定,可靠的通讯网络。在这种情况下,如果我们还使用在线方式部署额外域控制器,就有可能事倍功半!那我们遇到这种情况应该如何解决呢?我们可以考虑使用离线方式来部署额外域控制器,也就是说额外域控制器在复制Active Directory时不通过网络从其他的域控制器复制,而是从Active Directory的离线文件复制,这样就可有效避免对网络环境的依赖。

那我们如何获得Active Directory的离线文件呢?我们可以从Active Directory的备份中得到。具体是这样的,我们对Active Directory备份之后,把离线部署额外域控制器所需要的文件从备份中提取出来,然后通过各种手段传送到需要部署额外域控制器的计算机上。例如我们可以把离线文件刻录到光盘上,然后在出差时带过去;或者可以放在一个支持断线续传下载的服务器上,让对方通过网络慢慢下载。对方得到了Active Directory的离线文件后,就可以通过Dcpromo来调用离线文件从而完成额外域控制器的部署。

我们通过一个具体实例加以说明,实验拓扑如下图所示,Florence是域控制器,Firenze是准备用离线方式部署的额外域控制器。
200812221229932514255.jpg

具体的部署过程分为下列两个阶段:

1、 获得Active Directory的离线文件
2、 离线部署额外域控制器

一 获得Active Directory的离线文件

首先我们在域控制器Florence上对Active Directory进行备份,备份工具使用系统自带的NTBACKUP,具体的备份过程参见前期博文,在此不在赘述。Active Directory的离线数据来源于对Active Directory的备份,但大家要注意的是,由于NTBACKUP备份的粒度并不太细致,因此我们对System State进行备份时,还备份了除Active Directory之外的其他内容。如下图所示,我们发现备份的System State的内容分为五部分,分别是Active Directory,Boot Files,COM+ Class Registration Database,Registry和SYSVOL。其实我们用离线方式部署额外域控制器,只需要Active Directory,Registry和SYSVOL三部分即可。
200812221229932525759.jpg

下图是备份System State后生成的备份文件,我们可以看到备份文件的大小是480M左右,其实其中只有少部分数据是我们需要的。
200812221229932533191.jpg

我们准备从备份中提取Active Directory的离线数据,我们使用的工具还是NTBACKUP-系统自带的备份工具,如下图所示,我们在Florence上启动NTBACKUP后,选择“还原文件和设置”。
200812221229932539839.jpg

选择对System State的备份文件进行还原,从编录结果中我们可以看到System State的备份中包含了五部分内容。
200812221229932547751.jpg

如下图所示,千万不要选择完成,一定要点击“高级”按钮进行设置,否则系统会把备份文件还原到原位置。
200812221229932554791.jpg

我们不能把备份还原到原位置,而是应如下图所示还原到备用位置,我们选择的备用位置是C:\ADBAK,这其实就是把备份文件中的内容展开到C:\ADBAK中。
200812221229932561703.jpg

还原选项使用默认值即可。
200812221229932568047.jpg

仍然保留默认设置。
200812221229932575304.jpg

如下图所示,还原顺利完成。
200812221229932582135.jpg

看看展开后的备份文件是什么内容,如下图所示,我们可以看到备份文件被展开成了五个目录,每个目录存储备份中的一部分内容。离线部署其实只需要Active Directory,Registry和SYSVOL三个文件夹的内容,这三个文件夹的数据大概是40M左右,相比较备份文件的480M体积确实缩水了不少。我们把这三个文件夹的内容传送到要部署成额外域控制器的计算机上,至此结束了Active Directory离线文件的准备。
200812221229932589919.jpg

二 离线部署额外域控制器

拿到了Active Directory的离线文件后,我们就可以在Firenze上部署额外域控制器了,如下图所示,我们在Firenze上运行 Dcpromo /adv。
200812221229932596863.jpg

出现Active Directory安装向导,点击下一步继续。
200812221229932603409.jpg

选择成为额外域控制器。
200812221229932610351.jpg

选择从备份文件复制Active Directory,备份文件的路径是C:\ADBAK,里面包括了从Florence复制来的三个文件夹,Active Directory,Registry和SYSVOL。
200812221229932618831.jpg
是否将Firenze设置成全局编录取决于实际需求,在此实验中我们不需要把Firenze配置成全局编录服务器。
200812221229932625479.jpg

输入域管理员的口令用以在Firenze上创建Active Directory。
200812221229932632247.jpg

输入还原模式口令,下一步继续。
200812221229932639663.jpg

如下图所示,Firenze上开始离线部署额外域控制器。
200812221229932646183.jpg

Active Directory创建完成,重启后就可以发现Firenze已经成为了域控制器,至此,利用备份离线部署额外域控制器顺利完成!
200812221229932656903.jpg
Active Directory系列之七 - Active Directory的脱机碎片整理

---
本文出自 “岳雷的微软网络课堂” 博客
原文地址,http://yuelei.blog.51cto.com/202879/121735

Active Directory系列之七 - Active Directory的脱机碎片整理

发表于 : 2012年 11月 30日 23:16 星期五
admin
上一篇Active Directory系列之六 - 离线部署额外域控制器

Active Directory的脱机碎片整理

Active Directory是一个被设计用于查询的非关系型数据库,Active Directory使用一段时间后,需要对数据库内容进行维护,以减少数据碎片及提高查询效率,今天我们就为大家介绍一下如何对Active Directory的数据库进行离线维护。

Active Directory创建时默认的数据库及事务日志的存放路径是C:\Windows\NTDS,我们打开前文中创建的域控制器Florence,定位到C:\Windows\NTDS目录下,先来了解一下下图中各文件的作用。其中的NTDS.DIT是Active Directory的数据库文件,EDB.LOG是事务日志文件,事务日志文件记录了数据库内容的变更,非常重要。默认的事务日志文件大小只有10M,如果事务日志文件已经记录满了,系统就会自动地生成edb00001.log用以继续存储事务日志,如果edb00001.log也存满了,就会接下来生成edb00002.log,以此类推。顺便提一下,在生产环境下,我们应该把数据库文件和事务文件分开存储,这样既可以提高性能,也可以增加数据安全性,但Win2003要求Active Directory的数据库和事务日志都存储在同一个硬盘上,不像Win2000中Active Directory的数据库和事务日志可以存储在不同的硬盘上。

EDB.CHK是事务日志的检查点文件,记录了硬盘上的Active Directory和内存中Active Directory在内容上的差异,一般此文件用于Active Directory的初始化或还原。RES1.LOG和RES2.LOG是系统保留的事务日志文件,这两个文件一共占用了20M空间,主要目的就是为了给Active Directory的事务日志预留20M空间,避免当硬盘空间用光后无法正常关机。
200812311230736298078.jpg

Active Directory使用一段时间后,会产生数据碎片,表现为Active Directory占用的空间增大,响应速度降低,这时就需要对Active Directory做一些碎片整理了。Active Directory的碎片整理分为在线和离线两部分,默认情况下在线整理会12小时进行一次。在线整理的好处是在数据库维护的过程中不需要关闭Active Directory,用户不会受到影响;缺点是在线整理只能在已分配的数据库空间内进行碎片整理,无法减少数据库占用的空间。如果Active Directory的规模不大,数据变更不频繁,我们使用默认的在线整理也就可以了。如果Active Directory的数据库很大,达到上G的规模,而且数据频繁更改,这时我们就要使用今天提到的离线维护了。离线维护需要对Active Directory进行脱机处理,然后再进行Active Directory的碎片整理,这个过程中Active Directory无法使用,基于AD的业务系统会受到影响,因此建议在工作空闲时间例如晚上进行。Active Directory进行脱机碎片处理后,可以有效地减少Active Directory数据库的大小,提高查询速度,有的单位经过第Active Directory进行脱机碎片处理后,可以把Active Directory的大小从11G降为6G!因此对Active Directory更新频繁,而且Active Directory内包含海量数据的单位来说,离线维护还是很有必要做的。

如何才能对Active Directory进行离线的脱机碎片整理呢?我们以域控制器Florence举例为大家演示应该如何操作,首先我们在Florence上要进入目录服务还原模式,在这个模式下,Active Directory将被脱机挂起,然后我们就可以对离线的Active Directory数据库进行处理了。如下图所示,我们重启Florence,然后在自检结束后按F8键选择进入“目录服务还原模式”。
200812311230736309343.jpg

进入目录服务恢复模式后,我们输入命令 NTDSUTIL,如下图所示,我们将使用NTDSUTIL对Active Directory进行碎片整理。
200812311230736555375.jpg

如下图所示,我们在NTDSUTIL中输入Files。
200812311230736592000.jpg

如下所示,我们输入Compact To C:\,意思是对Active Directory数据库清理碎片后压缩到C盘的根目录下,这样我们将在C盘的根目录下得到一个消除了Active Directory碎片的Ntds.dit。
200812311230736605984.jpg
如下图所示,大家可以发现真正压缩Active Directory的是esentutl.exe,这个工具大家以后也会经常使用,而且大家会在Exchange中发现有类似的工具,这主要是因为Active Directory,Exchange,WINS等服务器都使用了类似的非关系型数据库引擎。
200812311230736620687.jpg

如下图所示,压缩成功后我们用新的ntds.dit覆盖了原来的Active Directory数据库文件,同时删除了原有的日志文件,但仍然保留edb.chk文件。
200812311230736644484.jpg

如下图所示,这就是我们进行碎片整理后的Active Directory文件,如果在一个大型网络中,经过这种离线整理后可以很明显地看出对磁盘空间的释放。
200812311230736652546.jpg

对Active Directory进行脱机碎片处理只能在单台域控制器上分别进行,对Active Directory压缩不会影响Active Directory现有数据,也不会影响Active Directory的复制。

---
本文出自 “岳雷的微软网络课堂” 博客
原文地址,http://yuelei.blog.51cto.com/202879/123829

Active Directory系列之八 - Active Directory的复制拓扑

发表于 : 2012年 12月 18日 13:46 星期二
admin
在前面的博文中我们在域中部署了额外域控制器,而且我们已经知道每个域控制器都有一个内容相同的Active Directory数据库,今天我们要讨论一下额外域控制器在进行Active Directory复制时所使用复制拓扑。

在NT4的时代,域控制器被分为两类,PDC和BDC。PDC是主域控制器的缩写,BDC是备份域控制器的缩写。每个域中只能有一个PDC,BDC可以有多个,BDC的目录数据是从PDC复制而来。只有PDC才可以更改域中的用户账号,计算机账号等目录数据,BDC的内容是只读的!这种复制模型我们称为单主复制,这种模型我们并不陌生,类似于DNS服务器的辅助服务器和主服务器的关系。单主复制模型比较简单,管理难度不大,但较容易构成单点故障。

从Win2000开始,Active Directory开始使用多主复制的模型,也就是说每个域控制器都可以自主地修改Active Directory的内容,域中不再有PDC和BDC的区别了。Win2003使用了和Win2000同样的多主复制模型,而Win2008则在多主复制的基础上又增加了一个RODC,也就是只读域控制器,可以看出Win2008试图在多主复制模型中增加一些单主复制的元素,因为RODC的设计理念显然和BDC是有些关联的。

现在我们知道了Win2003的Active Directory中使用了多主复制的模型,也就是任何一个域控制器都可以修改Active Directory。为了维护Active Directory的权威性,显然所有域控制器上的Active Directory内容应该都相同。那么,如果一个域控制器修改了自己的Active Directory,修改的的内容是如何复制到其他域控制器上的呢?这就是我们今天要讨论的内容,Active Directory的复制拓扑!

Active Directory的复制拓扑是一个比较复杂的问题,今天我们只讨论在同一域中域控制器之间的复制拓扑。当域中的域控制器数量发生变化,例如增加或减少了域控制器,域控制器上的进程KCC就会进行Active Directory复制拓扑的计算。KCC被翻译为知识一致性验证器,我们在任务管理器的进程列表中看不到KCC,因为它属于LSACC进程的一部分。KCC可以自动计算出域控制器进行复制时所使用的拓扑,当域控制器数量较少时,KCC倾向于在域中使用环形拓扑进行Active Directory复制,也就是说当一个域控制器的Active Directory内容发生变化时,这个更改不会同时传递给其他所有的域控制器,而是要沿着KCC设计的环形拓扑一一传递下去。而且为了实现冗余以及提高效率,KCC设计的拓扑还是双环拓扑,下图就是一个域控制器的复制拓扑示意图,从图中可以看到,每个域控制器都有两个复制伙伴,Active Directory的复制沿着顺时针和逆时针两个方向进行。
200901151232011727437.jpg

域控制器复制Active Directory时,一般会使用“带通知的拉复制”,也就是说,当DC1修改了Active Directory后,DC1会在5分钟内通知自己的复制伙伴DC2,“快来,我的AD中有些新内容”。DC2收到通知后,会启动一个Active Directory的复制请求,以增量复制的方式从DC1把Active Directory复制到DC2。如果Active Directory中发生了一些紧急事件,例如用户口令被修改,那么此时域控制器将不受5分钟的时间限制,而是在最短时间内把Active Directory复制给PDC操作主机。如果一个域控制器在一个小时之内都没有收到复制伙伴发来的通知,它就会向复制伙伴发出一个查询,询问复制伙伴是否在线。

我们通过一个实例来观察一下域控制器的复制拓扑,Adtest.com域中有Florence,Firenze和Berlin三个额外域控制器,我们在Florence打开Active Directory站点和服务,可以看到每个域控制器的复制伙伴。如下图所示,Florence的复制伙伴是Berlin和Firenze。
200901151232011736150.jpg
而Firenze的复制伙伴是Florence和Berlin。
200901151232011743918.jpg

Berlin的复制伙伴是Florence和Firenze。
200901151232011751742.jpg
看完三个域控制器的复制伙伴,我们很容易勾勒出Active Directory的复制拓扑,这是一个标准的双环拓扑,拓扑如下图所示。
200901151232011759278.jpg

双环拓扑非常优美,但并非适合所有场合!在域控制器较多的网络中,标准的环形拓扑就不太合适,因为域控制器复制Active Directory时有个严格的限制,那就是从源域控制器到目标域控制器不能超过三个域控制器的间隔。具体来说就是如果DC1的Active Directory发生了变化,那么DC1可以复制给DC2,DC2可以接着复制给DC3,DC3还可以复制给DC4,但DC4就不能再复制给DC5了!因为这时从DC1到DC5中间间隔的域控制器已经超过了三个。微软进行这个限制,估计是为了避免在大型网络中进行Active Directory复制时环形拓扑导致的延迟问题,试想一下,如果一个大型网络中有100个域控制器,域控制器复制的平均间隔为5分钟,那么从第一个域控制器复制到最后一个域控制器可能需要大约500分钟!这种延迟是不可接受的,因此在大型网络中KCC会使用网状拓扑,网状拓扑就不像环形拓扑那样有规律了,每个域控制器可能会有多个复制伙伴,看起来并不像环形拓扑那样有规律。域控制器的复制拓扑最好由KCC来规划,当然,也可以自己指定域控制器的复制伙伴,例如我们想指定Florence的复制伙伴,我们可以如下图所示,在Florence上选择“新建Active Directory连接”。
200901151232011766614.jpg

如下图所示,Florence可以从域控制器列表中选择自己的复制伙伴。这样一来,我们就完成了对Florence复制伙伴的手工指定。
200901151232011773806.jpg

域控制器的复制拓扑最好由KCC来自动计算,域控制器一旦复制拓扑出现问题,处理时需要相当的耐心,而且要结合DNS的SRV记录来进行排错,可能还需要对Active Directory数据进行手工处理。以后有机会我们会介绍一些Active Directory排错的高级工具以及实际案例供大家参考,希望大家都能够处理好这个问题。

========

本文出自 “岳雷的微软网络课堂” 博客
原文地址,http://yuelei.blog.51cto.com/202879/126641

Active Directory系列之九 - 详解操作主机角色

发表于 : 2015年 1月 23日 14:15 星期五
admin
Active Directory系列之九 - 详解操作主机角色

在前面的博文中,我们已经了解到每个域控制器都能自主修改Active Directory,而且修改后的结果会被其他的域控制器所承认。从这个角度讲,域控制器之间的地位是平等的,但我们决不能认为域控制器之间是没有区别的!事实上,域中的第一个域控制器往往比其他的域控制器承担了更多的任务。

有些企业中部署了多个域控制器之后,就开始忽略第一个域控制器的作用,有时甚至可能会一不经意间把第一个域控制器给处理掉了。但这些企业的用户很快就会发现域中会出现一些异常现象,例如无法创建域用户账号,无法安装Exchange,无法部署子域等等。原因很简单,第一个域控制器承担的任务并没有被转嫁到其他的域控制器上,而这些任务对一个域来说又是不可或缺的,因此我们才会面临如此多的问题。那么,究竟第一个域控制器和其他的域控制器相比承担了哪些更多的任务呢?这就是我们今天要讨论的话题,操作主机!

操作主机是由域控制器来扮演的一种角色,操作主机角色共有五种,分别是PDC主机,RID主机,结构主机,域命名主机和架构主机,今天的这篇博文将分别介绍五种操作主机的用途。

我们先来介绍PDC主机,PDC是主域控制器的缩写,在NT4时代,域控制器被分别PDC(主域控制器)和BDC(备份域控制器),只有PDC才可以修改目录数据库,BDC的数据库是从PDC复制而来的。从Win2000开始,所有的域控制器都可以修改Active Directory了,那为什么Win2003的操作主机中还有PDC主机这个角色呢?原因是这样的,微软为了保护用户的前期投资,允许NT4服务器称为Win2003域中的额外域控制器,但NT4充当域控制器时一定要和域中的PDC联系,这种情况下PDC主机就要挺身而出,以主域控制器的身份和NT4的域控制器通讯。这就是PDC主机的第一个用途,兼容NT4服务器。

PDC主机的第二个用途是可以优先成为主浏览器,这里说的浏览器可不是上网冲浪用的浏览器,而是网络中的一种计算机角色。我们都知道打开网上邻居后可以看到当前网络中有多少台计算机,双击计算机名还可以看到这台计算机提供的共享资源。这些网络资源列表是由谁来提供呢,在微软网络中被一种称为主浏览器的计算机来提供。那么哪些计算机可以成为主浏览器呢?只要操作系统的版本在Windows workgroup 3.1以上的计算机都有机会成为主浏览器。如果一个网络中的多台计算机都希望成为主浏览器,那么这些计算机就会通过“选举”来解决问题,我们有时用抓包工具可以抓到电子选举包就和这个过程有关。每台计算机选举时首先比较操作系统版本,版本新的优先成为主浏览器,例如Win2003优于Win2000。如果操作系统版本相同,再比较谁是域控制器,域控制器比普通的计算机优先。如果参与选举的有多个域控制器,那么PDC主机会优先。最后再多说一句,如果一个广播域内有多个域,而且有多个PDC操作主机,那么它们之间又如何进行主浏览器的选举呢?它们之间会通过GUID来选出最后的胜利者。

PDC主机的第三个用途就是Active Directory的优先复制权,正常情况下,Active Directory的复制周期是5分钟,但如果Active Directory中发生了一些紧急事件,例如修改了用户口令。这种情况下源域控制器就会在最短时间内通知PDC主机,由PDC主机来统一管理这些Active Directory的紧急事件。如果一台域控制器发现用户输入的口令和Active Directory中存储的口令不一致,域控制器考虑到有两种可能性,一种可能是用户输入错误,一种可能是用户输入的口令是正确的,但是自己的Active Directory还没有接收到最新的变化。域控制器为了避免自己判断错误,就会向PDC主机发出查询,请PDC主机来验证口令的正确与否,因为前面已经提到,任意一个域控制器修改了用户口令,都会在最短时间内通知PDC主机。

PDC主机除了上述的几种用途,还可用于充当域内的权威时间源,同时PDC主机也是组策略的首选存储地点。顺便提一下,PDC主机的作用级别是域级别,也就是说,在一个域中只能有一台域控制器充当PDC主机。

介绍完PDC主机的作用后,我们来介绍RID主机。RID是SID的一部分,什么是SID呢?SID是安全标识符(Security Identify)的缩写,当我们在域中创建用户账号或计算机账号时,操作系统会为被创建的账号建立一个对应的SID,也就是说,SID真正对应了用户账号或计算机账号。一个域用户对应的SID格式是这样的,S-1-5-21-D1-D2-D3-RID,S是SID的缩写,1是SID的版本号,5代表授权机构,21代表子授权,D1-D2-D3是三个数字,代表对象所在的域或计算机,RID是对象在域中或计算机中的相对号码。以大家熟悉的管理员账号为例,管理员的SID就是S-1-5-21-3855104193-3464347045-3256418734-500,其中的RID是500。

RID是SID的组成部分,RID主机的作用就是为Active Directory提供一个可用的RID池(默认500个),而且当池中的RID被消耗到一定程度后再自动补充满。如果RID主机出现故障,显然会对我们创建大量的用户账号造成麻烦。和PDC主机类似,RID主机的作用级别也是域级别。

结构主机的作用是负责对跨域对象的引用进行更新,假如A域的一个用户加入了B域的一个组,B域的结构主机就会负责关注A域的这个用户是否发生了什么变化,例如是否被删除了,结构主机的工作可以确保域间对象引用的可操作性。如果是一个单域,基本上用不着结构主机做什么工作。如果在一个多域的林环境,有一点要切记,结构主机不要和GC(全局编录)放在同一台域控制器上,否则结构主机无法正常工作。结构主机的作用级别也是域级别。

下一个要介绍的操作主机是域命名主机,这个操作主机的作用级别是林级别的!域命名主机主要负责控制域林内域的添加或删除,也就是说如果在域林内添加一个新域,必须由域命名主机判断域名合法,操作才可以继续。如果域命名主机不在线,我们就无法完成域林内新域的创建。除了对域名做出诠释,域命名主机还要负责添加或删除描述外部目录的交叉引用对象。

最后我们要介绍的是架构主机,架构主机的作用级别同样是林级别。架构主机的作用非常重要,如果要修改Active Directory的架构,我们只能从架构主机上进行操作。微软的很多高级服务器产品在部署时都需要修改Active Directory的架构,例如Exchange,Office Communications Server,SMS等。以最著名的Exchange为例,如果我们在域中部署Exchange时无法在线联系上架构主机,那Exchange的部署就无法继续,MCSE的考题中曾经考过这个知识点。

从上面的介绍中我们可以看出,操作主机都有各自的职能,一旦操作主机有问题我们就会遇到种种麻烦,因此我们在下篇博文中将介绍如何转移操作主机角色以及如何夺取操作系统角色,敬请期待。

========

本文出自 “岳雷的微软网络课堂” 博客
原文地址,http://yuelei.blog.51cto.com/202879/127848

Active Directory系列之十 - 实战操作主机角色转移

发表于 : 2015年 1月 23日 14:17 星期五
admin
Active Directory系列之十 - 实战操作主机角色转移

上篇博文中我们介绍了操作主机在Active Directory中的用途,今天我们通过一个实例为大家介绍如何实现操作主机角色的转移,这样如果Active Directory中操作主机角色出现了问题,我们就可以用今天介绍的知识来进行故障排除。
我们首先要明确一个重要原则,那就是操作主机角色有且只能有一个!如果操作主机角色工作在林级别,例如架构主机和域命名主机,那在一个域林内只能有一个架构主机和域命名主机。如果操作主机角色工作在域级别,例如PDC主机,结构主机和RID主机,那就意味着一个域内只能有一个这样的操作主机角色。
我们的实验拓扑如下图所示,Adtest.com域内有两个域控制器,Florence和Firenze。Florence是域内的第一个域控制器,目前所有的操作主机角色都在Florence上,我们通过实验来介绍如何在Florence和Firenze间切换操作主机角色。
200902021233504084146.jpg
其实当我们用Dcpromo卸载域控制器上的Active Directory时,这个域控制器会自动把自己所承担的操作主机角色转移给自己的复制伙伴,这个过程完全不需要管理员的干预。但如果我们希望指定一个域控制器来负责操作主机角色,我们就需要手工操作了。我们首先为大家介绍如何用MMC控制台把五个操作主机角色从Florence转移到Firenze上。

一 从Florence转移到Firenze

在Florence上打开Active Directory用户和计算机,如下图所示,右键点击域名,在菜单中选择“操作主机”。
200902021233504094033.jpg
如下图所示,我们发现可以转移三个操作主机角色,分别是PDC主机,RID主机和结构主机,但奇怪的是,我们希望把操作主机角色从Florence转移到Firenze,但为何工具中显示的是我们只能把操作主机角色从Florence转移到Florence呢?
200902021233504102455.jpg

上述问题很容易解释,如果我们希望把Firenze作为操作主机角色转移的目标,那我们就需要把域控制器的焦点首先指向Firenze。从下图所示,在Active Directory用户和计算机中右键单击adtest.com,选择“连接到域控制器”,从域控制器列表中选择Firenze即可。
200902021233504112038.jpg
我们把域控制器的焦点指向Firenze后,接下来就发现可以把操作主机角色从Florence转移到Firenze了,如下图所示,我们点击“更改”,准备把RID主机角色从Florence转移到Firenze。系统弹出窗口询问是否确定进行操作主机角色的转移,我们选择“是”。
200902021233504120145.jpg
通过上述过程,我们可以非常轻松地把RID主机角色从Florence转移到Firenze,如下图所示,操作主机角色的转移已经成功。用同样的方法,我们可以很轻松地把PDC和结构主机也转移到Firenze上。
200902021233504127907.jpg

转移了RID主机,PDC主机和结构主机后,我们来尝试一下域命名主机。在Florence上打开Active Directory域和信任关系,注意先把域控制器的焦点指向Firenze,然后如下图所示,右键单击Active Directory域和信任关系,从菜单中选择“操作主机”。
200902021233504135942.jpg

如下图所示,我们点击“更改”把域命名主机角色从Florence转移到Firenze,整个过程实现起来非常简单。
200902021233504144221.jpg

如下图所示,域命名主机角色已经转移到Firenze上了。
200902021233504152922.jpg


最后我们要转移的操作主机角色是架构主机,架构主机由于角色非常重要,微软甚至没有为我们预设管理工具,因此我们首先要通过注册动态链接库来获得转移架构主机所需要的管理工具。如下图所示,我们运行regsvr32 schmmgmt.dll,系统提示注册动态链接库成功。
200902021233504161737.jpg

注册了动态链接库后,我们运行MMC,在文件菜单中选择“添加/删除管理单元”,这时我们会发现可以添加一个名为“Active Directory架构”的管理单元,这就是注册了动态链接库的作用。使用这个Active Directory架构管理单元,如下图所示,选择“操作主机”进行架构主机的转移,同样不要忘记在之前把域控制器焦点指向Firenze。
200902021233504168019.jpg

如下图所示,点击“更改”把架构主机角色转移到Firenze上。
200902021233504176328.jpg


从下图的结果来看,架构主机的转移是成功的,至此,我们完成了五个操作主机角色的转移。
200902021233504182841.jpg


二 从Firenze转移到Florence


现在五个操作主机角色都集中在Firenze上,我们再为大家介绍一种方法把操作主机角色完璧归赵,还给Florence,这种方法就是使用我们非常熟悉的工具NTDSUTIL。如下图所示,运行ntdsutil,然后输入roles,准备进行操作主机角色的转移。
200902021233504194135.jpg


如下图所示,在Roles状态下,我们首先要使用connections命令来连接到特定的域控制器,连接到哪个域控制器呢?应该连接到操作主机转移的目标域控制器,在我们这个例子中应该是Florence,如图所示,我们输入命令connect to server Florence。
200902021233504202829.jpg

连接到Florence后,如下图所示,我们用quit命令返回上级菜单,用?列出当前状态下的所有可执行指令,我们发现转移五个操作主机角色只需要简单执行五条命令即可,这五条指令分别是:

Transfer domain naming master 转移域命名主机
Transfer infrastructure master 转移结构主机
Transfer PDC 转移PDC主机
Transfer RID master 转移RID主机
Transfer schema master 转移架构主机
200902021233504212606.jpg

还有五条命令是强行把连接到的域控制器指定为操作主机角色,这个很适合在操作主机离线时进行操作,如果我们不小心把操作主机所在的域控制器给格式化了,我们就可以利用这些指令强行把一个域控制器指定为操作主机。这五条指令分别是:

Seize domain naming master 指定域命名主机
Seize infrastructure master 指定结构主机
Seize PDC 指定PDC主机
Seize RID master 指定RID主机
Seize schema master 指定架构主机
200902021233504220906.jpg

如下图所示,我们执行转移操作主机角色的五条指令,很轻松地把操作主机角色从Firenze又转到了Florence上。
200902021233504228774.jpg

在本篇博文中,我们可以利用MMC和NTDSUITL进行操作主机角色的转移,也可以在操作主机离线的情况下进行操作主机角色的指定,掌握了这些,基本上就可以应对工作中对操作主机的需求了。


========

本文出自 “岳雷的微软网络课堂” 博客
原文地址,http://yuelei.blog.51cto.com/202879/127848