欢迎光临 Enjoy IT (ITECN.NET) 登录 | 注册 | 帮助

“误操作导致无法打开组策略”之本机解决法

本文是以下的文章的姐妹篇(感谢Heelen的Comment):
http://blogs.itecn.net/blogs/ahpeng/archive/2005/11/01/NoGpedit1.aspx

这里就简单讨论一下如何在本地计算机上进行恢复。
该问题的难点在于我们可能将面对一个非常苛刻的环境,考虑这样一个近乎极端的可能性:用户在组策略里设置仅允许运行某个无关紧要的应用程序,这将会导致无法运行regedit、组策略管理单元、记事本、系统还原等几乎所有的组件,这种可能性不是没有。这样的话,留给我们的排错空间就非常小。那么如果碰到这种情况,又该如何对付?

这里介绍以下两种方法:

一、新建用户法
这种方法适用于Windows XP SP2,在SP2下只能在用户配置下启用“只运行许可的Windows程序”策略项,而删除了在计算机配置下的相应策略项。这为我们排错提供了很大便利。
(1)我们可以在控制面板里打开“用户帐户”组件,新建一个管理员帐户,假设是Test。
(2)打开我的电脑,定位到以下目录:
C:\WINDOWS\system32\GroupPolicy\User
重命名其下的Registry.pol文件。
(3)注销当前用户,登录到新建的Test帐户,现在可以打开组策略管理单元了,修改回原来的配置即可。

疑难解答
1.
为什么该方法能够奏效?
原来组策略的”用户配置“部分的策略项,保存在C:\WINDOWS\system32\GroupPolicy\User\Registry.pol文件里,同时“用户配置”的策略只能在用户登录后才能加载到注册表(HKEY_CURRENT_USER\SOFTWARE),重命名Registry.pol文件后,“用户配置”部分对新建用户就无效,可以在该新建用户下将组策略修改回原来值。
2.为什么可以启动“用户帐户”组件?
该策略项并非可以阻止一切程序或者组件运行,而是只能阻挡从资源管理器中启动的进程,而不能阻止由系统启动的进程(例如任务管理器),也不能阻止从CMD命令行窗口启动的进程(如果允许运行cmd的话)。

二、离线修改注册表
如果是Windows 2000计算机,则可以在“计算机配置”下启用“只运行许可的Windows程序”策略项,那么以上方法就不可以使用了。因为“计算机配置”下的策略会加载到HKEY_LOCAL_MACHINE\Software中,在其他用户登录前就已经生效。这时候我们可以借助第三方工具Offline NT Password & Registry Editor,进行注册表的离线修改。
可以到以下站点下载免费的Offline NT Password & Registry Editor:
http://download.myrice.com/arts/dn01/dn0107/31508.html
(1)恐怕只能在其他计算机上下载该工具,并制作一张启动软盘。
(2)用该软盘启动该故障计算机,在命令行下离线加载Software注册表配置单元,并删除以下的注册表项:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\policies\Explorer\RestrictRun
(3)重启系统,就可以解锁。

疑难解答
1.如何知道该策略项所对应的注册表项和键值?
“计算机配置”部分的策略保存在C:\WINDOWS\system32\GroupPolicy\Computer\Registry.pol文件里,用记事本打开该文件,即可看到每个策略项所对应的注册表项和键值。
 

注意
根据MVP刘晖的提醒,其实只要在安全模式下登录到Administrator帐户环境下,即可绕过软件限制策略。本文只是为了提供一种解决问题的思路。

已发表 2005年11月2日 3:26 作者 ahpeng

评论通知

如果您想在帖子更新时接到邮件通知,请先登录。这里

订阅帖子评论使用 RSS

评论

2005年11月2日 9:16 by xiwang

# re: “误操作导致无法打开组策略”之本机解决法

你写的东西可以专门归类了:)
2005年11月2日 11:22 by ahpeng

# re: “误操作导致无法打开组策略”之本机解决法

多谢老大鼓励,我会继续努力。
2005年11月8日 11:21 by 流浪的双鱼

# re: “误操作导致无法打开组策略”之本机解决法

有个疑问:重命名Registry.pol文件后,当Test用户登录时便不会将Registry.pol文件中的设置加载进来,那么,又怎么能够再去修改Registry.pol中的值呢?当Test用户登录系统后,如系统会自动创建Registry.pol文件,则无需再对组策略进行修改吧?
2005年11月8日 20:04 by ahpeng

# re: “误操作导致无法打开组策略”之本机解决法

双鱼,多谢你的提问。
确实,重命名Registry.pol文件后,当新建的Test用户登录系统时,系统会新建一个Registry.pol文件。
但是这时候如果不对组策略进行修改的话,原来的管理员帐户的相关注册表键值并不会“主动”修改回正常的值(位于该帐户配置单元的\SOFTWARE\Microsoft\Windows\CurrentVersion\policies\Explorer\RestrictRun注册表项)。
所以我们必须在Test帐户下将组策略进行修改,甚至需要“显式”地禁用这条策略。

2005年11月13日 13:49 by anly

# re: “误操作导致无法打开组策略”之本机解决法

1.用户在组策略里设置仅允许运行某个无关紧要的应用程序,这将会导致无法运行regedit、组策略管理单元、记事本、系统还原等几乎所有的组件,
2.该策略项并非可以阻止一切程序或者组件运行,而是只能阻挡从资源管理器中启动的进程,而不能阻止由系统或者其他Shell(例如命令行,如果允许运行cmd的话)启动的进程,例如任务管理器等

我对“从资源管理器中启动的进程和系统或其它shell进程”而且“不是所有控制面板的组件”,这几句话很是吃不透,所以,想请问,这个策略它究竟能阻止哪些程序?(msconfig,services.msc....)

regedit、组策略管理单元、记事本、系统还原这些属于由资源管理器中启动的进程吗?

这个资源管理器中启动的进程究竟应该怎么解释?


2005年11月13日 22:05 by ahpeng

# re: “误操作导致无法打开组策略”之本机解决法

在“我的电脑”、“资源管理器”、“运行”对话框、开始菜单→程序等地方启动的进程,将会被这条策略阻止。
2006年9月9日 0:27 by jiangzy

# Windows疑难解答

Windows疑难解答
2006年11月14日 14:51 by 必需

# 组策略编辑器不能打开

就是组策略gpedit.msc打不开

说说您的看法?

(必填) 
必填 
(必填)