为什么我的 c:\windows\system32\wbem 文件夹将近 100 GB,我该如何减少它?

Sim*_*eon 13 windows wmi windows-8

该文件夹C:\Windows\System32\wbem\在我的 SSD 驱动器上占用了近 100 GB。这感觉不像是我的 SSD 驱动器的最佳利用。可以减少吗?

我遇到了一些似乎与wbem目录相关的“重建 WMI 存储库”的参考资料。所以我试过这样做,但尺寸并没有明显减少。

wbem目录中的内容是很多文件夹repository.xxx,其中命名xxx为 001 到 096。这些文件夹的大小范围从 758 MB 到 1 140 MB。还有一个名为only 的文件夹repository,大小为1 078 MB。

我使用的是 Windows 8 Enterprise 64 位(不是 Win 8.1)。我刚刚跑了winmgmt /verifyrepository,得到了结果:WMI repository is consistent

har*_*ymc 12

应该只有一个副本 C:\Windows\System32\wbem\Repository

这些Repository.xxx文件夹可能是您每次修复或重新创建存储库时生成的 WMI 存储库备份。曾经打算让 SCCM 客户端代理在检测到一致性问题时自动尝试重建 WMI 存储库,该功能可能仍然存在并且是您遇到的问题。

我不知道为什么你有这么多这样的文件夹,但你的计算机上的 WMI 似乎有问题。作为急救,您可以删除所有这些文件夹并重建存储库。

另请参阅文章 Configuration Manager Client Health – Disable Automatic Remediation 是否 与您的设置相关,因为它包含针对类似问题的注册表修复。

运行sfc /scannow命令也无妨。

最简单的 WMI 重建是通过以下方式完成的:

  1. net stop winmgmt
  2. 将所有命名的文件夹移到别处 C:\Windows\System32\wbem\Repository*
  3. net start winmgmt (应该开始重建存储库)
  4. 稍等片刻,然后重新启动
  5. 如果一切正常,您可以将保存的文件夹丢弃。

多年来一直在敲打的 WMI 修复脚本(但我从未尝试过)可能本身或在某些部分仍然在 Windows 8 上有用:

Echo Fix WMI
net stop winmgmt /y
if exist %windir%\system32\wbem\repository.001 rmdir /s /q %windir%\system32\wbem\repository.001
rename %windir%\system32\wbem\repository repository.001
%windir%\system32\wbem\winmgmt /clearadap
%windir%\system32\wbem\winmgmt /kill
%windir%\system32\wbem\winmgmt /unregserver
%windir%\system32\wbem\winmgmt /reserver
%windir%\system32\wbem\winmgmt /resyncperf
regsvr32 /s %systemroot%\system32\scecli.dll
regsvr32 /s %systemroot%\system32\userenv.dll
mofcomp %windir%\system32\wbem\cimwin32.mof
mofcomp %windir%\system32\wbem\cimwin32.mfl
mofcomp %windir%\system32\wbem\rsop.mof
mofcomp %windir%\system32\wbem\rsop.mfl
cd \windows\system32\wbem
for /f %%s in ('dir /b /s %windir%\system32\wbem\*.dll') do regsvr32 /s %%s
for /f %%s in ('dir /b /s %windir%\system32\wbem\*.mof') do mofcomp %%s
for /f %%s in ('dir /b %windir%\system32\wbem\*.mfl') do mofcomp %%s
net start winmgmt
%windir%\system32\wbem\wmiprvse /regserver
%windir%\system32\wbem\winmgmt /regserver
Run Code Online (Sandbox Code Playgroud)

完成这一切之后,您可能会重新启动并再次运行winmgmt /verifyrepository

备份时要非常小心,并在开始之前至少创建一个系统还原点,或者更好:拍摄系统磁盘的映像快照。

  • 您可以尝试 [WMI 诊断实用程序](http://technet.microsoft.com/en-us/library/ff404265.aspx) 并执行 `"winmgmt /resetRepository`。检查 repository.xxx 上的日期/时间- 如果时间相似,这可能是预定的作业。还可以检查事件查看器以获取与 WMI 相关的有趣错误消息。 (2认同)