组策略提示"管理单元初始化失败"解决方法

来源:互联网 发布:一页知秋 百川鱼海 编辑:程序博客网 时间:2024/03/29 19:41

这里是从网络上找到得一种方法:

组策略提示管理单元初始化失败的授渔式解决

作者:郁郁小蝎  来源:中国站长学院  发布时间:2005-7-12 22:41:49 

文章的问题是很简单的 但是 可以从这里看见我的解决方法和摸索过程 我会写的尽量详细 让大家看到我解决问题的思路 特别是广大的初学者 其实有很多问题 你们没有必要一发现就来问的 尝试自己解决钻研一下

今天在学校论坛上 看见一个兄弟问注册表解禁的问题:)
我把一个解禁注册表的脚本压缩给了他后 又考虑到他是NT以上的操作系统 通过组策略也可以解禁的 于是就想用我的机器抓个图给他 让他看看具体位置...
挖靠 你看我想的多么美好呀...于是我在系统上运行gpedit.msc
结果竟然出现了这样的一幕...
点了确定后...进入的组策略是这种样子 根本没有办法使用....
到这里 就是问题产生的所有现象我已经描述完了 那上面那张想象出来的图片怎么又进的去呢?呵呵 当时着急给朋友解答 所以我在虚拟机下抓的图...现在我们回头来好好研究以下咱们自己的问题...
我以前说过 无论什么时候 计算机出问题都会给你一个反馈的 也许有的时候很细微 哪怕是一个响声而已 但是处理问题要善于捕捉细节...让我们看看 系统给了咱们哪些线索吧:)
问题产生的时候 我们得到的信息如下:
第一:计算机告诉我们组策略运行失败了 他在注册表中的CLSID相关是8FC0B734-A0E1-11D1-A7D3-0000F87571E3
第二:失败的原因系统告诉你是 管理单元初始化失败
第三:系统说创建失败的原因 很有可能是没有被正确安装

  好了 到这里的很多朋友就觉得是不是系统没装好?嘿嘿 由于我从新装操作系统到现在 都一直没有用过Group Policy(组策略的英文)所以无从知道是什么时候出问题的 不能确认是否是安装上的问题 不过我也重装没几天 无敌最寂寞给我邪恶八进制irc终端的前几周才重装的
    现在咱们来分析一下 系统给我们的信息我们能知道什么?
第一条:我们可以根据CLISD的值到系统中注册表相关项目下看看是否出了问题 还好我虚拟机里的XP可以用来对比
第二条:管理单元初始化失败可能是因为一些加载的dll出了问题
第三条:可能没有正确安装的意思就是 这个dll可能需要重新注册 它可能由于某种原因出错了 什么原因 不用管

然后 我们来看看我们现在本身掌握了那些资料
第一点:我们知道英文的组策略名字是Group Policy 这对我们到国外的站点找资料 到microsoft官方找资料都很有好处
第二点:我们知道如何注册和卸载dll文件 regsvr32命令就是我们需要的核心助手
第三点:Windows很多dll的管理和文件管理都与filemgmt.dll有关 此文件在其中起很重要的作用 尤其是组策略
第四点:我们知道组策略依靠gpedit.msc启动 调用的是gpedit.dll

好 现在让我们来开始解决问题...
首先我们怀疑注册表被损坏了 因为我EvilOctal经常做些注册表修改测试的勾当 也没少被风泽的alpha测试版软件祸害...
于是来到注册表项目下查看 发现没有任何问题...日了 路径正常如图 后来又查看系统环境变量 发觉默认路径也都正常

溜到c:/windows/system32下一看 gpedit.dll也躺在那里 而且没有被损坏的迹象 初步估计问题不是出在文件损坏或者注册表里

那么其中一条线索就断了:(现在只能怀疑dll文件注册坏了 让我们重新注册一下看看 于是我在运行中输入
regsvr32 gpedit.dll来重新注册dll

结果 竟然提示无法注册...:(


难道真是我EvilOctal人品大大的坏拉?虽然平时坏事做的不少 从头烂到脚 但是我总比dahubaobao和冰血封情好吧 他们两个都不出问题 我就不信就我这么衰 第二个方法也失败了...
分析了一下无法注册的原因
既然gpedit.dll都正常 也在system32下 那应该就没问题了 难道是filemgmt.dll的目录需要指清楚么?于是我直接注册了filemgmt.dll 是成功的 再注册gpedit.dll还是失败...

无奈中想到了从另外一个机器中干脆拷贝一个gpedit.msc过来 不就ok了?(后来才知道 很多人公认的拷贝方法 有的时候是不行的)...于是我从虚拟机中把gpedit.msc拷贝了一份 覆盖了系统里原来的那个...
运行...仍然失败!提示和原来是一模一样的...
到这里我们的出结论 gpedit.msc是好的 也就是说 邪恶八进制技术论坛上的这个方法可以排除
http://www.eviloctal.com/forum/read.php?tid=12379
因为本身msc是正常就不存在重新建立msc的问题...既然文件是完好的 那么一定是调用其他文件的问题 所以 最终确定 我们解决的方向还是要敲在注册gpedit.dll上 如果注册成功 很可能问题就解决了!

突然想到注册gpedit.dll的时候提示找不到指定模块 于是搜索系统找filemgmt.dll 发现filemgmt.dll并不在system32目录下 难怪找不到:(
其实我也是猜测 可能组策略需要同目录调用这个文件...没办法 最后一线希望 测试一下吧...
于是把filemgmt.dll从搜索到的地方拷贝了一份到system32下 再注册filemgmt.dll和gpedit.dll 双双成功...

再次尝试运行组策略 终于恢复了正常的状态 一切完好如初....
后来发现此类问题网络的解决方法爆炸多 比如http://www.tryboy.net/Article/computer/OS/200504/492.html
但是既然我已经没有问题了 就不去研究那些了 真是好了伤疤忘了疼呀....

后记
大家一定对此文章我忽悠一下就知道了filemgmt.dll有点奇怪吧 其实 filemgmt不就是file management的缩写么?具体资料请访问到邪恶八进制信息安全团队这个题:)
http://www.eviloctal.com/forum/read.php?tid=12380

下面是从百度知道吧得到解决方法:

  组策略:管理单元初始化失败   现象:运行gpedit.msc 提示如下:
   管理单元初始化失败。
   名称:组策略
   CLSID:{8FC0B734-A0E1-11D1-A7D3-0000F87571E3}

解决:
   方法一、1、点击『开始』菜单
       2、点击“运行”
       3、键入"regedit"(不包括感叹号)
       4、在注册表键值HKEY_CURRENT_USER/Software/Policies/Microsoft/MMC
       请将 RestrictToPermittedSnapins 的值设置为 0



   方法二、1、点击『开始』菜单
       2、点击“运行”
       3、键入"regedit"(不包括感叹号)
       4、在注册表键值 HKEY_CURRENT_USER/Software/Policies/Microsoft/Mmc/{8FC0B734-A0E1-11D1-A7D3-0000F87571E3}/Restrict_Run
和HKEY_CURRENT_USER/Software/Policies/Microsoft/MMC/{0F6B957E-509E-11D1-A7CC-0000F87571E3}/Restrict_Run
请将 Restrict_Run 的值设置为 0
5、修改完毕后重启。

   方法三、1、点击『开始』菜单
       2、点击“运行”
       3、键入"regedit"(不包括感叹号)
       4、在注册表键值HKEY_CLASSES_ROOT/CLSID/{8FC0B734-A0E1-11D1-A7D3-0000F87571E3}/InProcServer32
把其中的default改成:
%SystemRoot%/System32/GPEdit.dll
5、修改完毕后重启。

   方法四、检查环境变量:
       a、点击『开始』菜单
       b、点击“控制面板”
       c、在“控制面板”中打开“系统”
       d、在“系统属性”中点击“高级”标签
       e、在“高级”标签页中点击“环境变量”按钮
       f、在“环境变量”中的“系统变量”框中的变量名为Path中修改变量值为:
       %Systemroot%/System32;%Systemroot%;%Systemroot%/system32/WBEM

   方法五、运行regsvr32 filemgmt.dll
       a、点击『开始』菜单
       b、点击“运行”
       c、键入"regsvr32 filemgmt.dll"(不包括感叹号)

   方法六、如果组策略找不到 framedyn.dll,就可能会出现这种错误。如果使用安装脚本,要确保脚本置于系统路径中的%windir%/system32/wbem 目录下。默认情况下,%windir%/system32/wbem 已经存在于系统路径中,因此,如果您不使用安装脚本,就不可能遇到这个问题。或试着将将Framedyn.dll文件从/windows/system32/wbem目录下拷贝到/windows/system32目录下!

附:如果在方法一/二中提到的MMC项在你的计算机注册表中找不到,那么就手动建立即可。
或者直接将下面内容复制粘贴进入记事本,并保存为后缀名为.reg的文件,双击运行该.reg文件即可。
-----------------------------------------------------------------------
Windows Registry Editor Version 5.00

[HKEY_CURRENT_USER/Software/Microsoft/Windows/CurrentVersion/Group Policy Objects/LocalUser/Software/Policies/Microsoft/MMC]

[-HKEY_CURRENT_USER/Software/Microsoft/Windows/CurrentVersion/Group Policy Objects/LocalUser/Software/Policies/Microsoft/MMC/{8FC0B734-A0E1-11D1-A7D3-0000F87571E3}]
"Restrict_Run"=dword:00000000

[HKEY_CURRENT_USER/Software/Policies/Microsoft/MMC]

[-HKEY_CURRENT_USER/Software/Policies/Microsoft/MMC/{8FC0B734-A0E1-11D1-A7D3-0000F87571E3}]
"Restrict_Run"=dword:00000000

[HKEY_CURRENT_USER/Software/Policies/Microsoft/MMC]
"RestrictToPermittedSnapins"=dword:00000000

 

下面介绍一下如何禁止组策略:

禁止运行组策略的解决方法

Windows XP组策略中有一个“只允许运行Windows应用程序”的策略,你只要启用并添加只允许系统运行的程序名称,那么用户将只能运行“允许运行的应用程序列表”中的程序。不过,无论你有没有在“只允许运行程序列表”中添加gpedit.msc(组策略),一旦启用了这项策略,就再也不能运行“gpedit.exe”(组策略)了!不过我们可以使用下面的方法让“鱼与熊掌兼得”。
  ①运行gpedit.msc,依次展开“用户配置→管理模板→系统”,在右侧窗口中找到“只运行许可的Windows应用程序”策略并双击,在打开的窗口中选择“已启用”。此时我们可以看到,该窗口下的“显示”按钮呈激活状态,单击“显示→添加”,然后输入允许Windows运行的程序名称,如“Notepad.exe”,最后按下“确定”按钮。

  ②此时不要马上关闭“组策略”。在“开始→运行”中运行“组策略”,你会发现已经无法运行了!好在我们没有关闭“组策略”程序,现在在“组策略”窗口中,将“只允许运行Windows应用程序”策略设置成“未配置”,再单击“确定”按钮。

  ③如果你已经关闭了“组策略”,可以通过以下方法来恢复设置:重新启动计算机,在启动菜单出现时按F8键,在Windows高级选项菜单中选择“带命令行提示的安全模式”选项,然后在命令提示符下运行mmc.exe。在打开的“控制台”窗口中,依次单击“文件→添加/删除管理单元→添加→组策略→添加→完成→关闭→确定”,现在已经添加了一个组策略控制台,接下来把原来的设置改回来重新进入Windows即可。

mmc - mmc.exe - 进程信息
进程文件: mmmc or mmc.exe
进程名称: Microsoft Management Console
描述: Microsoft Management Console管理控制程序集成了很多的系统控制选项。例如设备管理(系统、硬件)或者计算机权限控制(Administrative管理工具)。
常见错误: N/A
是否为系统进程: 否
最后提示一下组策略在windows xp home版中是不能使用得。