组策略提示管理单元初始化失败的分析解决
其实问题是很简单的 但是 可以从这里看见我的解决方法和摸索过程 我会写的尽量详细 让大家看到我解决问题的思路 特别是广大的初学者 其实有很多问题 你们没有必要一发现就来问的 尝试自己解决钻研一下
今天有个兄弟问我注册表解禁的问题:)
我把一个解禁注册表的脚本压缩给了他后 又考虑到他是NT以上的操作系统 通过组策略也可以解禁的 于是就想用我的机器抓个图给他 让他看看具体位置...
挖靠 你看我想的多么美好呀...于是我在系统上运行gpedit.msc
结果竟然出现了这样的一幕...
点了确定后...进入的组策略是这种样子 根本没有办法使用....
到这里 就是问题产生的所有现象我已经描述完了 那上面那张想象出来的图片怎么又进的去呢?呵呵 当时着急给朋友解答 所以我在虚拟机下抓的图...现在我们回头来好好研究以下咱们自己的问题...
我以前说过 无论什么时候 计算机出问题都会给你一个反馈的 也许有的时候很细微 哪怕是一个响声而已 但是处理问题要善于捕捉细节...让我们看看 系统给了咱们哪些线索吧:)
问题产生的时候 我们得到的信息如下:
第一:计算机告诉我们组策略运行失败了 他在注册表中的CLSID相关是8FC0B734-A0E1-11D1-A7D3-0000F87571E3
第二:失败的原因系统告诉你是 管理单元初始化失败
第三:系统说创建失败的原因 很有可能是没有被正确安装
好了 到这里的很多朋友就觉得是不是系统没装好?嘿嘿 由于我从新装操作系统到现在 都一直没有用过Group Policy(组策略的英文)所以无从知道是什么时候出问题的 不能确认是否是安装上的问题 不过我也重装没几天 无敌最寂寞给我邪恶八进制irc终端的前几周才重装的
现在咱们来分析一下 系统给我们的信息我们能知道什么?
第一条:我们可以根据CLISD的值到系统中注册表相关项目下看看是否出了问题 还好我虚拟机里的XP可以用来对比
第二条:管理单元初始化失败可能是因为一些加载的dll出了问题
第三条:可能没有正确安装的意思就是 这个dll可能需要重新注册 它可能由于某种原因出错了 什么原因 不用管
然后 我们来看看我们现在本身掌握了那些资料
第一点:我们知道英文的组策略名字是Group Policy 这对我们到国外的站点找资料 到microsoft官方找资料都很有好处
第二点:我们知道如何注册和卸载dll文件 regsvr32命令就是我们需要的核心助手
第三点:Windows很多dll的管理和文件管理都与Framedyn.dll有关 此文件在其中起很重要的作用 尤其是组策略
第四点:我们知道组策略依靠gpedit.msc启动 调用的是gpedit.dll
好 现在让我们来开始解决问题...
首先我们怀疑注册表被损坏了 因为我EvilOctal经常做些注册表修改测试的勾当 也没少被风泽的alpha测试版软件祸害...
于是来到注册表项目下查看 发现没有任何问题...日了 路径正常如图 后来又查看系统环境变量 发觉默认路径也都正常
溜到c:\windows\system32下一看 gpedit.dll也躺在那里 而且没有被损坏的迹象 初步估计问题不是出在文件损坏或者注册表里
那么其中一条线索就断了:(现在只能怀疑dll文件注册坏了 让我们重新注册一下看看 于是我在运行中输入regsvr32 gpedit.dll来重新注册dll
结果 竟然提示无法注册...:(
难道真是我人品大大的坏拉? 我就不信就我这么衰 第二个方法也失败了...
分析了一下无法注册的原因
既然gpedit.dll都正常 也在system32下 那应该就没问题了 难道是Framedyn.dll的目录需要指清楚么?于是我直接注册了Framedyn.dll是成功的 再注册gpedit.dll还是失败...
无奈中想到了从另外一个机器中干脆拷贝一个gpedit.msc过来 不就ok了?(后来才知道 很多人公认的拷贝方法 有的时候是不行的)...于是我从虚拟机中把gpedit.msc拷贝了一份 覆盖了系统里原来的那个...
运行...仍然失败!提示和原来是一模一样的...
到这里我们的出结论 gpedit.msc是好的 也就是说这个方法可以排除
因为本身msc是正常就不存在重新建立msc的问题...既然文件是完好的 那么一定是调用其他文件的问题 所以 最终确定 我们解决的方向还是要敲在注册gpedit.dll上 如果注册成功 很可能问题就解决了!
突然想到注册gpedit.dll的时候提示找不到指定模块 于是搜索系统找Framedyn.dll发现Framedyn.dll并不在system32目录下 难怪找不到:(
其实我也是猜测 可能组策略需要同目录调用这个文件...没办法 最后一线希望 测试一下吧...
于是把Framedyn.dll从搜索到的地方拷贝了一份到system32下 再注册Framedyn.dll和gpedit.dll 双双成功...
再次尝试运行组策略 终于恢复了正常的状态 一切完好如初....
关键解决方法:将Framedyn.dll文件从\windows\system32\wbem目录下拷贝到\windows\system32目录下,再重新注册一下gpedit.dll就可以打开gpedit.msc了。即regsvr32 gpedit.dll 就ok了。