Иногда при мониторинге windows-серверов на пустом месте возникает ошибка вида WMI error 80041002: The object could not be found. Ниже будут изложены несколько способов решения этой проблемы. Для начала удостоверимся, что WMI работает некорректно локально на системе запустив команду:
При обнаружении ошибки переходим дальше.
Перерегистрация библиотек 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 можно с помощью команды:
Если команда возвращает, что база данных WMI находится в неконсистентном состоянии (INCONSISTENT), стоит попробовать выполнить «мягкое» восстановление репозитория:
И перезапустить службу wmi:
Если описанная выше команда не помогла, выполняем сброс репозитория на начальное состояние (hard reset) так:
В том случае, если команды Winmgmt /salvagerepository и Winmgmt /resetrepository желаемого эффекта не дали, стоит попробовать выполнить «жесткое» пересоздание базы WMI вручную таким сценарием:
Данный скрипт полностью пересоздает хранилище WMI (старый репозитория сохраняется в каталоге Repos_bakup). После окончания работы скрипта компьютер нужно перезагрузить, после чего протестировать работу службы WMI простым запросом.