我有一个产品,它使用 WMI 获取其运行所在服务器的状态。该应用程序设置为使用以下内容来获取可用的内存量。
wmic os get freePhysicalMemory
在集群中的一台特定服务器上,我们收到以下错误消息。
os - Alias not found
有人能提供一些关于如何修复这个缺失别名的提示吗?我已经在同一集群中的其他服务器(和我的计算机)上测试了该命令,并且运行良好。还有其他方法可以获取此信息,但应用程序没有提供使用它们的简便方法。该服务器正在运行 Windows Server 2008 R2 SP1。谢谢!
答案1
您的 WMI 数据库似乎已损坏,您需要遵循以下指南:
https://msdn.microsoft.com/en-us/library/aa394603(v=vs.85).aspx
跑步WMI 诊断实用程序,这将帮助你确认这是否真的是你的问题,然后通过按照本指南:
第一次尝试:
winmgmt /verifyrepository
如果结果显示不一致,则转到步骤2
winmgmt /salvagerepository
winmgmt /verifyrepository
- 再次检查 wmi 存储库是否已成功修复
如果失败 - 请尝试完全重建 WMI 存储库,请按照以下步骤操作:
- 禁用并停止 winmgmt 服务
- 删除或重命名 C:\Windows\System32\wbem\repository
- 启用并启动 winmgmt 服务
- 以管理员身份打开 CMD 提示符
- 在 CMD 提示符下导航到 C:\Windows\System32\wbem\
运行以下命令:
for /f %s in ('dir /b *.mof') do mofcomp %s
注意:这将需要一分钟左右才能完成。
现在运行命令:
for /f %s in ('dir /b en-us\*.mfl') do mofcomp en-us\%s
重启服务器