活动目录(AD)域故障解决实例(二)
Q9、如何在2000域中添加一台03的DC?
03和2000比,功能更强大了,在域和AD的体系结构上也有了一些变化(参见前面:域、林功能级别)。但微软的产品十分讲究向前兼容,我们可以实现在一个2000域中加入03DC、加入03DNS,并且DC间的AD复制,DNS间的区域传输,都好像没有版本差异一样。
但要注意:直接就在03计算机上安装AD是不行的,会收到出错提示“Active Directory版本不同”。我们需要做一些准备工作,在2000DC(SP2及更高)上运行03光盘/I386/adprep,
具体第一步:adprep /forestprep进行林准备,第二步adprep /domainprep进行域准备。
顺便说一下:03可以作为2000域的附加DC,2000也可以作为03域的附加DC,而直接在2000上安装AD即可,不需要准备。
Q10、创建AD域时,由于没有NTFS分区,导致AD安装失败?
在2000/03成员或独立服务上上运行dcpromo命令,安装AD,将其提升为DC,其上必须有一个NTFS 5.0分区,用来保存AD的sysvol文件夹。
注意:2000的NTFS分区是NTFS 5.0,NT4的是NTFS 4.0,NT4必须安装SP4后,才可访问2000的NTFS分区。
如果C是引导分区,即系统夹winnt或windows所在分区,采用FAT32分区,系统会自动查找下一个可用的NTFS分区来存放系统卷,如d:sysvol。如果找不到NTFS分区,就会出错,导致AD安装失败。这时可利用convert命令将某个FAT32分区转成NTFS分区,这个转换会保持数据的完好。但要注意这个转换是单向不可逆,想回复到FAT分区,除非重新格式化该分区。
以转换D盘为例,具体操作如下:
1、开始/运行:convert d: /fs:ntfs
2、提示是否转换,键入y确认转换。
说明:这时并没有真正开始转换,如果后悔,可以到注册表HLM当前控制控制会话管理BootExecute下,删除其值Convert d: /fs:ntfs 。
3、重新启动计算机,将在登录界面出现前,真正实施FAT到NTFS的转换。
Q11、安装AD域时,出现NetBIOS名称冲突?
在安装AD时,安装选项会要求输入:新域的DNS全名,在这里应该输入新域的完全有效域名FQDN,形如:mcse.com。系统会打算以mcse作为此域的NetBIOS名称,并在网络中检查是否存在重名,需要等一会儿。
如果不重名则设为mcse(建议用户不要修改此名),重名系统则自动设为mcse0,建议用户最好换个名字,因为你的网络可能还会有2000以前版本的老系统,考虑到NetBIOS名称解析和DNS名称解析的互助,保持一致性比较好。
说明:NetBIOS名称,只是为95/98/NT等老版本用户通过“浏览服务”或WINS来识别这个域用的,如果确信域内计算机都是2000及以上系统(它们通过DNS定位域),其实NetBIOS名称冲不冲突,都无所谓。
这种冲突可能源自于网络中如果已有一个域,名字叫做mcse.org,DNS名虽然不冲突,但是NetBIOS名称冲突。也可能是你安装了一个mcse.com域未能完全成功,又再次安装导致的,这样情况倒可以强行将NetBIOS名称将为mcse,而不是mcse0。
Q12、安装AD完成后,重启登录非常慢,甚至长达20分钟之久。
这一般是由于用一台运行了一段时间的2000/03 Server来安装AD造成的,故障较难定位。若重启几次后就正常了,则不必理会。如果多次重启后还是非常慢,那就要重装系统及AD了。建议:最好在新装的系统上来安装AD,这样不容易出问题。
Q13、安装AD时,选择了在本机安装DNS,但安装结束后,在DNS中未生成SRV记录?
如果决定在安装AD过程中在本机安装DNS,应在安装前,将本机TCP/IP配置中的DNS服务器指向自己,这样在安装AD完成后重启时,SRV记录将被自动注册到DNS服务器的区域当中去的,生成四个以下划线开头的文件夹,如_msdcs。
03DNS在这里夹的层次结构有所变化,将_msdcs.域名夹提升了一级,直接放到了查找区域下,但本质没变。
如果安装前忘了将DNS指向自己,也可以后补上。然后到计算机管理/服务下,重启Net Logon服务即可。这样可以把启动时未能注册到DNS服务器的SRV记录(缓存在windowssystem32cache中)写入DNS。如果仍然不行的话,那只好重启DC了。
Q14、安装子域失败。
在保证权限(需要林管理员权限,不要误以为是父域管理员权限)、DNS没问题的情况下,最常见的安装子域失败的原因就是域命名主控失效,出错提示为:“由于以下原因,操作失败:AD无法与域命名主机xxx联系。指定的服务器无法运行指定的操作。”
说明:域命名主控要正常工作,它本身要求GC必须可用。这是由于:为了保证域的名字在林中唯一,域命名主机需要查询GC。若是2000林,GC必须和域命名主机在同一台计算机上才行。若是2003林,不要求GC必须和域命名主机非得在同一台计算机上。
解决:保证域命名主控联机,如果确信其已无法正常工作,可强制传给(查封seize)林内的任意一台DC,子域的DC也可以。原来的主控必须被重做系统后,才可连入网络,以保证域命名主控的林唯一性。
Q15、修改用户密码需要几分钟,甚至更长的时间。
前面我们介绍过:PDC仿真主控负责最小化密码变化的复制等待时间,若一台DC接受到密码变化的请求,它必须通知PDC仿真主控。若是PDC仿真主机失效,收到该请求的DC必须经过一段时间的查找后,确认真的找不到PDC仿真主控了,才会自己修改用户密码。所以在此情况下,应首先检查PDC仿真主控。
如果确信其已无法正常工作,可强制传给(查封seize)域内的任意一台DC。原来的主控必须被重做系统后,才可连入网络,以保证PDC仿真主控的域唯一性。
Q16、正常卸载AD时的常见问题
在实际工作中有时我们需要改变服务器角色,或者将实验中安装的DC回复到普通成员/独立服务器身份,这就要进行AD的卸载。
1、卸载时会提示给新的本地管理员设置密码
2、附加DC卸载后,仍在域中。
3、如果AD不能卸载,应从以下几方面考虑:
(1)网卡是否正常工作
即使你整个林中只有一台计算机,也要保证网卡正常工作,才能将AD卸载。网卡不工作或禁用网卡都会导致AD无法卸载,提示“卸载SYSVOL文件夹出错”
(2)权限
权限要求与安装AD时类似,若一个林中只有一个域,那么你要卸载的就是林根域,需要林管理员(Enterprise Admins)权限;卸载附加DC需要该域的域管理员(Domain Admins)权限;卸载子域或树,涉及到林结构的改变,也需要林管理员权限。
(3)DNS
一般应保证与安装时所用DNS一致。如果做了DNS规划,必须保证1中权限所要求的管理员身份能通过DNS找到相应DC,进行验证。
(4)域命名主控
卸载时只要涉及到林结构的改变,就需要保证域命名主控有效;卸载附加DC时不要求域命名主控有效。
但要注意的是:卸载时,域命名主控失效的出错信息与安装时的“AD无法与域命名主机xxx联系”提示不同,具体是:由于以下原因,操作失败。以提供的凭据绑定到服务器xxx失败。“RPC服务器不可用”。
(5)卸载的顺序
与安装顺序相反,应该先逐级卸载下面的子域,最后卸载树根域、林根域。否则将导致子域无法卸载,而存在的子域还有问题,找不到林根域、树根域了。
因为这时极有可能架构和域命名主控及GC未转移,林管理员组和架构管理员组(Schema Admins)已经随林根域的删除而没有了。为什么这么说呢?因为如果管理员考虑到主控及GC等的转移问题,也就不会误删除林根域了。
Q17、AD无法正常卸载,或者说DC无法正常降级为成员服务器?
1、Dcpromo /forceremoval强制卸载AD
2、重设目录恢复模式下的管理员密码:
2000:winntsystem32setpwd.exe
03:使用ntdsutil实用工具,set dsrm password
如果按照上例的要求,还是无法正常卸载AD,且出错提示未提到DNS方面的故障。考虑本机上已安装有的应用程序,你还不想重做系统,可考虑使用如下办法。
1、开始/运行,在命令行中输入regedit或regedt32打开注册表编辑器。
2、找到以下的键值:
HKEY_LOCAL_MACHINESystemCurrentControlSetControlProduct Options
键值:ProductType类型:REG_SZ
3、 将原来的值“LanmanNT”改为“ServerNT”。
说明:
(1)LanmanNT表示本机为域控制器DC,ServerNT表示本机为非DC。
(2)只有当CurrentControlSet1和CurrentControlSet下的键值:ProductType 所等于的数据不同时,即一个为ServerNT,一个为LanmanNT才允许修改。否则将会出如下提示:
¨;;对于2000:“系统已检测到干预您的注册产品类型,这是您对软件许可证的侵犯。干预产品类型是不允许的。”
¨;;对于03:“系统检测到您的注册的产品类型有篡改现象。这是对软件许可证的侵犯。篡改产品类型是不允许的。”
(3)教学实践中可以利用ntdsutil将子域的server对象(实质指DC)手动删除,然后运行dcpromo降级,降级失败后演示此知识点。
接下来,方法一:
1、重新启动计算机,按F8键进入到“目录服务恢复模式”。
说明:
(1)在此模式下,AD不工作,以便对AD库文件及系统卷sysvol进行操作。
(2)登录的口令不同于平时所用的口令,是在安装AD时,所设的目录恢复模式下的口令。保存在本机一个SAM库文件中。
2、删除存放活动目录数据库的文件夹,默认为C:WinNTNTDS,或C:WindowsNTDS。
3、删除存放系统卷的文件夹,默认为C:WinNTSYSVOL,或C:WindowsSYSVOL
4、重新启动计算机。
5、由于还有一些作为域控制器的注册表键值和文件存在,所以在重新启动完计算机后,还需要使用dcpromo命令来升级计算机B到一个临时的域的域控制器(域名可以任意填写),然后再用dcpromo命令降级,这样才会完整地删除所有和域控制器相关的注册表键值和文件。
方法二
1、开始/运行,在命令行中输入dcpromo
2、由于前面已经修改了注册表,此时为AD安装界面,而非卸载界面。
3、会遇到如下出错提示:“由于网络上名称冲突,选定默认的NetBIOS域名‘xxx’”。
说明:xxx为你修改注册表前原来域的NetBIOS名称。
4、不必介意出错提示,手动设置你想要的名称。比如你此次的域为abc.com,则手动设xxx改为ABC即可。
5、再接下来会遇到提示:“c:winntntds文件夹不是空的,当升级处理开始时,要删除文件夹中所有的文件吗?(如果不,请指定另一个文件夹。)”
6、选择:是
说明:
(1)在选择系统卷的夹,如c:winnntsysvol后,时间可能会比较长,请耐心等待。
(2)和正常安装时一样,可能会碰到DNS错误提示,一般选择在本机安装DNS即可。
(3)也可能会出现“计算机已脱离域,帐号未被禁用”的提示,不必理会。
(4)最重要的一点是:这第一次非常可能不成功,再重来一遍dcpromo即可。
7、如果这次安装是为了清除残余的注册表键值和垃圾文件,可再次运行dcpromo进行卸载。当然直接使用这台DC,也是可以的。
最后强调一下,此方法并不是万能的。一是前面我们已经提到的,有时注册表不允许修改或者改完了存不上。再有就是如果在卸载的一开始,就出现有关DNS的出错信息,必须首先排除DNS故障才行。
Q18、如何清理AD数据库中的垃圾对象。
如果我们非正常卸载AD子域、DC等,就会在AD元数据库中留下垃圾。比如上面的例子,又比如未经AD卸载就把DC计算机的系统重做了。这些垃圾对象一般来讲无碍大局,但如果我们想优化AD的性能,不想给用户带来不必要的麻烦(比如用户选择登录到已经不存在的子域),就可以利用ntdsutil工具进行元数据库清理(metadata cleanup),来删除垃圾对象。具体操作如下:
1、开始/运行:cmd,在命令行下键入 ntdsutil。
说明:
(1)直接,开始/运行:ntdsutil,也可以。
(2)进行元数据库清理,不要进到目录恢复模式下。
(3)进行元数据库清理,可以在非DC的2000/XP/03计算机上进行。但有些操作(如使用ntdsutil工具进行授权恢复、整理移动AD库文件)必须在DC上进行。
(4)在ntdsutil的每级菜单下都可以通过键入:?或HELP,查看本级菜单下可用的命令。
2、在 ntdsutil: 提示符下,键入 metadata cleanup ,然后按 ENTER。
说明:ntdsutil是个分层的多级命令行工具,用户在键入名字时,可简写,只要不同于本级命令中的其它命令即可。比如上面的命令metadata cleanup可简写为m c。
3、在 metadata cleanup: 提示符下,键入 connections ,然后按 ENTER。
4、在 server connections: 提示符下,键入 connect to server servername,然后按 ENTER。
说明:
(1)其中 servername 是指域控制器的DNS名称,用主机名或FQDN均可。注意:虽然联机说明中提到了可以用IP去连,但实际上发现用IP去连接,会出现参数不正确的出错提示。
(2)在这里要连接的DC,应是一个正常工作的、可操作的DC,而不是你要清理的那个DC对象。
5、键入 quit ,然后按 ENTER 回到 metadata cleanup: 提示符。
6、键入;select;operation target ,然后按 ENTER。
7、键入 list domains ,然后按 ENTER。
说明:此操作将列出林中的所有域,每一域附带与其相关联的一个数字。
8、键入;select;domain number,然后按 ENTER。
说明:其中 number 是与故障服务器所在的域相关的数字。
9、键入 list sites ,然后按 ENTER。
10、键入;select;site number,然后按 ENTER。
说明:其中 number 是指域控制器所属的站点号码。
11、键入 list servers in site ,然后按 ENTER。
说明:这将列出站点上所有服务器,每一服务器附带一个相关的数字。
12、键入;select;server number,然后按 ENTER 。
说明:其中 number 是指要删除的域控制器。
13、键入 quit ,然后按 ENTER,退回到Metadata cleanup 菜单。
接下来,根据需要,删除相应的垃圾对象:
14、键入 remove selected server ,然后按 ENTER。
此时,Active Directory 确认域控制器已成功删除。若收到无法找到对象的错误报告,Active Directory 可能已删除了域控制器。
15、或者键入 remove selected domain,然后按 ENTER。
说明:要想删除域,必须得先删除这个域的server对象(实质是DC)才行。
16、键入 quit 然后按 ENTER 直至回到命令符。
如果清理的是Server对象,还需要:1、到Active Directory 站点和服务上,展开适当站点,删除相应Server对象。2、到Active Directory 用户和计算机上,双击打开Domain Controllers这个OU,删除相应的DC对象。
如果清理的是Domain对象,还需要到Active Directory域和信任关系上,删除相应的已经没有用的信任关系。否则该域名还会出现在登录的域列表。
在实际操作中,必须先做元数据清理,然后再到相应的管理工具中删除相应的对象。若是直接到管理工具中去删,系统将不允许删除。
Q19、欲替换域中唯一的一台DC,如何传送五种主控和转移GC。
一、传送五种主控
操作:
1、安装第二台DC(假设为DC2,原来的为DC1),
2、到相应的管理工具(具体见前)下,右键连接到域控制器:DC2,
3、右键/操作主机/相应标签下,点击更改即可。
说明:
1、其实在图形界面下,操作很简单,关键看能不能成功。
2、目标都在下面,只有架构的特殊,目标在上面。
3、如果DC都是最近安装的,极易成功。如果是运行了一段时间的,就不好说了。但我估计你的成功率应在九成以上,因为一般网管都不太动这个。
4、传送结构主控时,若目标已是GC,会提示出错。可以不理会,继续。因为结构主控负责:更新外部对象的索引(组成员资格),不应该和GC在同一个DC上,应手动移走,否则将不起作用。而单域不需要基础结构主控非得有效,我们一般平常用的都是单域,默认基础结构主控就和GC在一起,不起作用。
5、若传送不成功,不要着急,等5分钟~2小时不等,你什么都没做,再试可能就成功了。可以利用AD站点和服务/站点/默认的第一个站点名/SERVER/DC/ntds setting/AD连接/右键/立即复制副本,来强制AD马上复制。但有时候,仅依赖于此,还是不行,还得等。
6、至于把老DC从AD中去除,在开始/运行/DCPROMO,卸载AD。不要选“这是域中最后一台DC”,若能成功卸载,就一切OK了。如不成功,可以直接把原DC废掉重装。AD中会有原DC的垃圾对象,也不影响什么。若非要清干净,参见前例。
7、如果原角色DC已经无法访问,就只能进行强制传送了,也就是查封(seize)。查封的实质就是强行推出新的主控,会有数据的丢失。在图形界面下会有提示:原主控无法联系,是否强行传送。选择“是”,进行的就是查封操作。
8、利用ntdsutil工具roles下transfer命令和seize命令也可以实现上述操作。实验中发现,无论是用transfer还是seize,关键看是否能连接到原主控。连接下情况,就是传送;不连接情况下就是查封。如:在连接情况下,使用查封(seize)命令,操作的结果仍是传送:原主控不再是主控,目标成为新的主控。
二、转移GC
GC不具有唯一性,可在AD站点和服务中,将DC2设为GC。操作如下:
1、在Default-First-Site-Name/servers/dc2/NTDS Settings/右键/属性。
2、选中“全局编录”。
3、你会看到在选项下面的说明:发布全局目录所需要的时间取决您使用的复制拓扑。
说明:不要急于把DC1断开,应等待足够长的时间,局域网环境一般也就是几分钟。是否将GC的内容成功传送,可在DC2上查看注册表
HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesNTDSParameters下是否有这样一条:Global Catalog Promotion Complete=1。若未传送完,没有这一条。