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


假设不小心或干脆有人使坏在拒绝本地登录上设置了所有人或管理员,又或者在允许登录上把管理员给删掉了 。不论哪一种情况都会导致管理员无法登录,出错提示为:“此系统的本地策略不允许您采用交互式登录”,也就没办法将策略设置改回正常了 。
这种情形看起来像一个解不开的"死结":要解除禁止本地登录的组策略设置,必须以管理员身份本地登录;要以管理员身份本地登录,就必须先解除禁止本地登录的组策略设置 。
问题还是有办法解决的,分别讨论如下:
一、被域策略和域控制器策略所阻止
显然你应该是被域策略和域控制器策略同时阻止了登录权利,因为:
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 。

推荐阅读