Ошибка WMI 80041002: The object could not be found

Иногда при мониторинге windows-серверов на пустом месте возникает ошибка вида WMI error 80041002: The object could not be found.
Ниже будут изложены несколько способов решения этой проблемы.
Для начала удостоверимся, что WMI работает некорректно локально на системе запустив команду:

get-wmiobject Win32_OperatingSystem

При обнаружении ошибки переходим дальше.

Перерегистрация библиотек WMI и перекомпиляция mof файлов
Данный скрипт представляет собой «мягкий» вариант восстановления работоспособности службы WMI (выполняется перерегистрация dll библиотек и службы WMI, перекомпилируются mof файлы).

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

Пересоздание репозитория (хранилища) WMI

В том случае, если предыдущий способ не помог, придется перейти к более «жесткому» способу восстановления работоспособности службы WMI, заключающегося в пересоздании хранилища.

WMI репозиторий (хранилище) находится в каталоге %windir%\System32\Wbem\Repository и представляет собой базу данных, в которой содержится информация о метаданных и определениях WMI классов. В некоторых случаях репозитория WMI может содержать статическую информацию классов. При повреждении репозитория WMI, в работе службы Windows Management Instrumentation (Winmgmt) могут наблюдаться ошибки вплоть до полной невозможности ее запустить.

В Windows Vista и выше проверить целостность репозитория WMI можно с помощью команды:

winmgmt /verifyrepository

Если команда возвращает, что база данных WMI находится в неконсистентном состоянии (INCONSISTENT), стоит попробовать выполнить «мягкое» восстановление репозитория:

Winmgmt /salvagerepository

И перезапустить службу wmi:

net stop Winmgmt
net start Winmgmt

Если описанная выше команда не помогла, выполняем сброс репозитория на начальное состояние (hard reset) так:

Winmgmt /resetrepository

В том случае, если команды Winmgmt /salvagerepository и Winmgmt /resetrepository желаемого эффекта не дали, стоит попробовать выполнить «жесткое» пересоздание базы WMI вручную таким сценарием:

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

Источник - http://winitpro.ru/index.php/2014/08/12/ustranenie-nepoladok-v-wmi/


Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *