安装 Windows Management Framework 3.0 基本上破坏了 WMI,如何在不重新安装操作系统的情况下修复它?

安装 Windows Management Framework 3.0 基本上破坏了 WMI,如何在不重新安装操作系统的情况下修复它?

当然与这个问题

在发现它有点危险之前,我安装了Windows 管理框架 3.0在许多 Windows Server 2008 R2 SP1 服务器上,WMI 在所有服务器上都被彻底破坏。

这是普通服务器上的 WMI 命名空间(来自服务器管理器 -> 配置 -> WMI 控制):

好的

安装 WMF 3.0 后的样子如下:

坏的

是的。除了 WMF 3.0 的新功能之外,其他一切都是消失了

不用说,这些服务器上似乎什么都无法正常工作了。不,这不是由于某些奇怪的安装错误,这发生在在安装 WMF 3.0 之前运行良好的服务器,并且所有服务器的安装均成功完成。

不可否认,其中一个的设置有些复杂(各种 System Center 产品和 SQL Server 实例)……但其中两个只是普通的标准域控制器,它们没有其他的

我怎样才能修复这个问题而不必在这些服务器上重新安装操作系统?

为什么会发生这种事?

答案1

我至少可以通过重新注册所有 DLL 并重新编译所有 .mof 和 .mfl 文件,使服务器恢复工作状态C:\Windows\System32\wbem,如文档所述这里

我无法 100% 确定系统是否完全正常运行,但至少现在它们还没有出现严重故障。

然而,WMF 3.0 以这种方式搞砸事情仍然毫无道理……而且以相当一致的方式,因为它发生在三台不同的服务器上。现在我确实非常害怕在任何地方安装它。

答案2

您是否尝试过各种 WMI 重建脚本?这是我偶尔使用的一个脚本,尽管最近没有用过。请注意,可能有一些特定于应用程序的 mof 文件未包含在此处。

net stop winmgmt /y
c: 
cd %systemroot%\system32\wbem 
rd /S /Q repository 

regsvr32 /s %systemroot%\system32\scecli.dll 
regsvr32 /s %systemroot%\system32\userenv.dll 

mofcomp cimwin32.mof 
mofcomp cimwin32.mfl 
mofcomp rsop.mof 
mofcomp rsop.mfl 
for %%s in (*.dll) do regsvr32 /s %%s 
for %%s in (*.mof) do mofcomp %%s 
for %%s in (*.mfl) do mofcomp %%s 

net stop winmgmt /y
net start winmgmt
net start sharedaccess 
net start iphlpsvc 

REM these may be system-specific.  There may be other services dependent on winmgmt that need to be restarted.
net start tmlisten 
net start VMUpgradeHelper 
net start wsrm

echo DONE reboot 
pause 

GOTO :EOF

答案3

尝试这个:

  1. 停止 WMI 服务
  2. 改名(不删除)此文件夹:c:\windows\system32\wbem\repository(32 位)或c:\windows\syswow64\wbem\repository(64 位)
  3. 启动 WMI 服务

如果一切顺利,应该创建一个新的存储库文件夹并且存储库应该开始重建。

相关内容