电脑技术学习

活动目录(AD)域故障解决实例(三)

dn001

问题还是有办法解决的,分别讨论如下:

一、被域策略和域控制器策略所阻止
显然你应该是被域策略和域控制器策略同时阻止了登录权利,因为:
1、如果只是域策略阻止,由于默认域控制器的策略上允许Administrators登录,而域控制器(Domain Controllers)是个OU,前面我们讲过组策略的LSDOU原则,所以管理员可以登录到DC上,把策略改回去。
2、如果只是域控制器的策略阻止,它只对DC生效。管理员可以在域内的其它计算机上登录到域,把策略改回去。
要解决被域策略和域控制器策略同时阻止,首先我们来回顾一下前面讲过的“具体的策略设置值存储在GPT中,位于DC的winntsysvolsysvol中,以GUID为文件夹名。”其中安全设置部分保存在DC的winntsysvolsysvol你的域名Policies策略的 GUIDMACHINEMicrosoftWindows NTSecEditGptTmpl.inf这个安全模板文件中。它实质就是一个文本文件,可利用记事本进行编辑。
说明:前面我们介绍过,默认域的策略、默认域控制器的策略使用固定的GUID,分别是:
¨;;;;默认域的策略的GUID为31B2F340-016D-11D2-945F-00C04FB984F9
¨;;;;默认域控制器的策略的GUID为6AC1786C-016F-11D2-945F-00C04FB984F9。
可以利用C盘的隐含共享C$,或winntsysvolsysvol的共享sysvol连过去,直接编辑,具体操作如下:
1、在另一台联网的计算机(Win9X/2000/XP均可)上,使用域管理员账号连接到DC。
2、利用记事本打开GptTmpl.inf文件。
3、找到文件中[Privilege Rights]小节下的拒绝本地登录“SeDenyInteractiveLogonRight”和允许在本地登录“SeInteractiveLogonRight”关键字,进行编辑即可。如:
¨;;;;使SeDenyInteractiveLogonRight所等于的值为空。
¨;;;;保证SeInteractiveLogonRight= *S-1-5-32-544,……
4、保存退出。
说明:
1、关于各SID所表示的意义,参见前面的表格。SID前面的*要保留,系统执行时才不会其后面的SID当作具体的用户/组的名字。
2、如果域中不止一台DC,为保证DC同步时刚才所做的修改最终生效(原理同授权恢复),需要:
(1)打开winntsysvolsysvol你的域名Policies刚刚所修改策略的 GUID GPT.INI文件
(2)找到文件中的[General]小节下的“Version”,手动将其值增大,通常是加10000。这是我们修改的这个组策略对象的版本号,版本号提高后可以保证我们的更改被复制到其它DC上。
(3)保存退出。
5、重新启动DC,域策略将被刷新。
说明:也可以在DC上运行secedit /refreshpolicy machine_policy /enforce刷新策略,这样就不必重启DC了。但需要用到telnet,细节参考前面telnet命令和接下来的内容。
6、以域管理员身份在DC上正常登录到域,重新设置安全域策略中的相关项目。

二、被本地安全策略所阻止
很多人都会想到利用MMC远程管理功能,重设目标机的安全策略。具体操作如下:
开始/运行/MMC/添加/组策略/浏览/计算机/另一台计算机,如果有权限的话,你会发现你能找到并管理其它的策略设置,但是就是没有安全策略等项目出现在列表中。
这是由于在Windows2000中,不支持对计算机本地策略的安全设置部分进行远程管理。而且本地安全策略设置的实现也与域策略不同,它存放在一个二进制的安全数据库secedit.sdb。
那么我们该怎么办呢?我们可以使用telnet连接到故障计算机上,利用前面我们介绍过secedit命令导出安全设置到安全模板,即扩展名为.inf的文本文件中。利用记事本编辑后,再利用secedit命令将修改后的安全设置配置给计算机,这样也就大功告功了。但如果故障计算机上的telnet服务没有启动,那么我们应该首先把故障计算机上telnet服务启动起来,才能连过去。
说明:因为telnet服务的启动类型,默认为手动,所以正常情况下它是不会启动的。此时连过去的出错信息为:正在连接以xxx不能打开到主机的连接,在端口23:连接失败。
综上所述,具体解决办法如下:
1、在另一台联网的计算机(2000/XP/03均可)上,修改其管理员密码,使用户名和口令均与故障计算机上的相同。(这主要为了方便,若在连接或使用的时候输入目标计算机上的用户名和口令,也可以)
2、注销后,重新登录进来。
3、我的电脑/右键/管理,打开计算机管理。
4、在计算机管理上/右键/连接到另一台计算机:故障计算机IP。
5、在服务下找到telnet,手动将它启动起来。
接下来使用telnet连接过来
6、开始/运行:cmd,键入telnet 目标IP
7、在C:>提示符下,键入secedit /export /cfg c:sectmp.inf,导出它的当前安全设置。
8、点击开始/运行:目标IPC$,双击c:sectmp.inf,用记事本打开。
9、编辑sectmp.inf文件,具体同前面情况一的步骤3
10、回到步骤7的命令窗口,键入secedit /configure /db c:sectmp.sdb /CFG c:sectmp.inf将修改后的设置值,配置给计算机。
11、运行secedit /refreshpolicy machine_policy /enforce刷新策略,这样就不必故障计算机了。
12、以本地管理员身份在故障计算机上正常登录到域,重新设置安全域策略中的相关项目。
最后说明一下:对于XP/03不存在上述问题,微软已经修正了这个问题。用户不能阻止所有人或管理员登录,在图形界面下根本设不上;使用其它手段强行设上了也不起作用。因此大家可以想一想,针对上面第一种情况,实际上可以加一台XP/03到2000域,在XP/03上登录到域,将其解开。
本例的实际排错意义并不大,但建议大家最好还是能把这个实验做一下,因为它涉及到了很多知识点,如:基于域安全策略、本地安全策略的实施原理,组策略及其优先级,权利、SID,还有同名同口令帐户登录、telnet、secedit工具的使用等等。再有大家也可以做一下实验,既然我们能通过网络解开,同样也能通过网络设上。

Q7、Win2000/03域中默认策略被误删,如何恢复?
对于Win2000,微软在“下载中心”提供了Windows 2000默认策略还原工具的下载。微软开发这一工具旨在帮助用户在意外删除默认策略时,能够重新还原“默认缺省域的组策略”和“默认域控制器的组策略”文件。请到下列地址下载相应工具:
http://www.microsoft.com/downloads/details.aspx?FamilyID=b5b685ae-b7dd-4bb5-ab2a-976d6873129d&DisplayLang=en
对于Win03,微软提醒用户不要将其应用于Windows Server 2003上。Win03自带的Dcgpofix.exe就可以完成还原任务。
需要强调的是:作为管理员应及时将组策略的设置进行备份。可利用2000/03自带的备份工具,把组策略作为系统状态的一部分进行备份。也可以利用GPMC工具专门备份组策略的设置。这样即使出问题了,重新恢复,也不用再把组策略重新设置了。