组策略有时候由于设置不当而使管理员无法登陆时怎么办?具体内容如下所述。
在WINMAG杂志上笔者看到了在域环境上如果由于组策略设置不当,在拒绝本地登陆策略里设置了everyone组或管理员组造成管理员无法登陆的解决的办法,但前提似乎要在域环境下,通过在DC上优先策略的发布替换原有策略,从而达到解决问题的目的,那么如果在对等网或单机的情况下该如何解决此类问题呢?在单机下可以解决的话,笔者想就不用区别是否是域环境了,也可以说是通用的方法了。来看看笔者的具体实话过程吧。(本实验全部在虚拟机上完成,磁盘格式为NTFS,系统为XP。)
首先需要声明的是,在单机环境下,如果在组策略的拒绝本地登陆上直接加入“everyone”或“administrator”是不允许的,会出现如下提示:
图1:添加“everyone”组时系统拒绝提示
看来微软也意识到了用户可以会犯这么低级的错误,但令人感到遗憾的是这个功能只是检测“everyone”或管理员,并不检查其它组的组成员,如果某个组包含everyone或管理员的话,系统是允许通过的,于是就造成了问题所在,在实验环境里,笔者新建了一个SLE的组,组成员为“everyone”,如图:
图2:新建包含“everyone”组成员的组“sle”
确定以后,再运行“组策略”,并在“拒绝本地用户”里添加了“SLE”组,系统并没有给出任何提示,完全通过,如图:
图3:在拒绝本地登陆里添加包含“everyone”组成员的“sle”组
然后把系统重启,不出所料,当笔者用“administrator”进行登陆时,系统给出了出错提示:
图4:系统拒绝登陆
很明显,如果是在单机环境下,已经没有什么办法可想了,只能转移。笔者先用XP的安装光盘启动,选修复,输入管理员密码后,进入控制台,因为在控制台下,组策略不起作用,所以不会拒绝登陆的,如图:
图5:进入控制台
把当前目录切换到“c:\windows\system32”下面,然后把“cmd.exe”拷至其它目录,笔者是拷到了C盘根目录下,然后把“cmd.exe”改名为“logon.scr”,再把这个由“cmd.exe”改名而来的“logon.scr”重新拷到“c:\windows\system32”下,系统提示:“要改写logon.scr吗?”,选择“Yes”,***输入“exit”退出重启。
图6:将“cmd.exe”改成“logon.scr”并覆盖原有文件
启动到登陆画面时,请不要动键盘鼠标,过一会,系统就会启动“logon.scr”的屏保程序,但由于笔者们在前面已经把“cmd.exe”改成了“logon.scr”,所以这回启动的可不是屏保,而是“cmd.exe”,如图:
图7:系统启动了由“cmd.exe”改名的“logon.scr”
接下来就方便了,只要输入“gpedit.msc”,就可以启动组策略了:
图8:运行组策略
然后笔者再到“用户权利指派”里,双击“拒绝本地登陆”:
图9:删除包含成员everyone组的sle
把笔者添加的那个包含“everyone”的组“sle”删除。确定退出,然后再在登陆画面里输入管理员帐号的密码,成功登陆!
此方法主要是利用了在登陆界面里,如果长时间不动键盘鼠标,则系统自动启动“logon.scr”这一漏洞解决问题的。现在笔者模拟的环境是在知道管理员密码的情况下完成的,如果不知道密码也没有关系,只要用2K PRO的安装光盘启动XP,进入控制台里是不用输入密码的(又是一个安全漏洞),此方法不仅可以解决单机环境下的组策略设置不当问题,还可以破解系统的管理员密码,包括DC在内,希望微软下一系统—Longhorn能避免此类问题,使系统更加安全!
组策略设置不当无法登陆故障解决方法希望能够对读者有所帮助。更多有关组策略的知识有待于读者去学习饿巩固。
【编辑推荐】