zoukankan      html  css  js  c++  java
  • 组策略提示管理单元初始化失败的分析解决

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

    今天有个兄弟问我注册表解禁的问题:)
    我把一个解禁注册表的脚本压缩给了他后 又考虑到他是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了。

  • 相关阅读:
    NetCore指令集和
    在WPF中的Canvas上实现控件的拖动、缩放
    WPF 窗体中的 Canvas 限定范围拖动 鼠标滚轴改变大小
    利用百度API(js),怎样通过地址获取经纬度
    讨论一下hibernate如何动态注册一个动态生成的实体类
    大端序vs小端序
    influxdb+telegraf+grafana实现nginx监控
    python库pillow:实现生成图片并加水印
    mac使用之设置vim colors
    学习python库:elasticsearch-dsl
  • 原文地址:https://www.cnblogs.com/cm186man/p/1265115.html
Copyright © 2011-2022 走看看