当然与这个问题。
在发现它有点危险之前,我安装了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
尝试这个:
- 停止 WMI 服务
- 改名(不删除)此文件夹:
c:\windows\system32\wbem\repository
(32 位)或c:\windows\syswow64\wbem\repository
(64 位) - 启动 WMI 服务
如果一切顺利,应该创建一个新的存储库文件夹并且存储库应该开始重建。