Назад | Перейти на главную страницу

WMIC - «os - Псевдоним не найден»

У меня есть продукт, который использует WMI для получения статуса сервера, на котором он работает. Приложение настроено на использование следующего, чтобы получить объем доступной свободной памяти.

wmic os get freePhysicalMemory

На одном конкретном сервере в кластере мы получаем следующее сообщение об ошибке.

os - Alias not found

Есть ли у кого-нибудь советы, как исправить этот отсутствующий псевдоним? Я тестировал команду на других серверах в том же кластере (и на моем компьютере), и она работала нормально. Есть и другие способы получить эту информацию, но приложение не предоставляет простой способ их использования. Сервер работает под управлением 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 был успешно отремонтирован

Если это не удается - попробуйте полностью перестроить репозиторий WMI, выполните следующие действия:

  1. Отключить и остановить службу winmgmt
  2. Удалите или переименуйте C: \ Windows \ System32 \ wbem \ repository
  3. Включите и запустите службу winmgmt
  4. Откройте приглашение 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. Перезагрузите сервер