WMIC – “os – 没有find别名”

我有一个产品使用WMI来获取它运行的服务器的状态。 该应用程序被设置为使用以下来获得可用内存量。

wmic os get freePhysicalMemory 

在集群中的一台特定服务器上,我们收到以下错误消息。

 os - Alias not found 

有没有人有任何提示如何解决这个缺失的别名? 我testing了在同一集群(和我的电脑)其他服务器上的命令,它工作正常。 还有其他方法来获取这些信息,但是应用程序不提供一个简单的方法来使用它们。 服务器正在运行Windows Server 2008 R2 SP1。 谢谢!

您的WMI数据库似乎已经损坏,您需要遵循本指南:

https://msdn.microsoft.com/en-us/library/aa394603(v=vs.85).aspx

运行WMI诊断实用程序 ,这将帮助您确认是否真的是您的问题,然后按照本指南进行修复:

第一次尝试:

  1. winmgmt /verifyrepository

    如果结果显示不一致,请转到步骤2

  2. winmgmt /salvagerepository
  3. winmgmt /verifyrepository – 再次检查wmi存储库已成功修复

如果失败 – 请尝试完全重buildWMI存储库,请按照下列步骤操作:

  1. 禁用并停止winmgmt服务
  2. 删除或重命名C:\ Windows \ System32 \ wbem \ repository
  3. 启用并启动winmgmt服务
  4. 以pipe理员身份打开CMD提示
  5. 在CMD提示符下导航到C:\ Windows \ System32 \ wbem \
  6. 运行以下命令:

    for /f %s in ('dir /b *.mof') do mofcomp %s

注意:这需要一分钟左右才能完成。

  1. 现在运行命令:

    for /f %s in ('dir /b en-us\*.mfl') do mofcomp en-us\%s

  2. 重新启动服务器