WMI is a comprehensive and versatile system for monitoring nearly all aspects of a Windows computer. However, as it is very complex
and based on a complex communications protocol (DCOM) it tends to be more error-prone than everyone would like it to be. Here is what
you can do if you keep getting errors that indicate problems with the WMI system itself.
IMPORTANT
As WMI is primarily a Windows function set, the problems described here should be solved by Microsoft — however,
we know how frustrating a search for solutions for WMI problems can be so we offer you these suggestions here. Although these procedures
are tested and used successfully in many cases, we by no means take any responsibility for their outcome and/or negative side effects.
The WMIdiag option
A very good start to approaching WMI problems is the use of Microsoft’s very own diagnosis tool, WMIDiag,
of course. You can find it in
Microsoft’s download center (or search Microsoft’s website for “WMIDiag”, should the download ID
have been altered in the meantime).
The re-enable performance counters option
Apparently, performance counters can be disabled via the Windows registry. Should this happen after a
Windows Update or the installation of some software package, search in the HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services branch
for «Disable Performance Counters». If you find one or more entries set to “1”, set them to “0”.
One case where this has helped is the WMI Process sensor, where setting this key in the
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\PerfProc\Performance branch brought red sensors back online.
NOTE: Working with the registry is for advanced users only. See
No Perf Counters for details.
The refresh performance counters option
This will probably fix many problems concerning performance data and is much less intrusive than almost
every other suggested method.
Full details about the WMIADAP command here:
https://msdn.microsoft.com/en-us/library/aa394528(VS.85).aspx
Usage:
wmiadap /f
The /f switch still forces an update of the WMI classes from the performance libraries.
wmiadap /r
The /r switch to parse the Windows Driver Model drivers to create performance objects.
The re-sync performance counters option
The winmgmt console program offers another way of getting corrupted performance counters back on track.
1. Open a command prompt window (Run as Administrator) and enter the following lines.
2. On older Windows systems up to 2003 you have to clear earlier re-sync attempts (on newer systems this will not work):
winmgmt /clearadap
3. Then do the resynchronization:
winmgmt /resyncperf
The reload performance counters option
As pointed out in
this technet article, you can reload the performance counters if you run the following command in a administrator-run command line:
lodctr /r for both folder %WINDIR%/System32 and %WINDIR%/SysWOW64
Repair Windows Management Instrumentation (WMI) tool
This tool will repair WMI on the system. See
Repair WMI article on
my site.
See this articles too:
Article 1
Article 2
Article 3
Часто Репозиторий WMI поврежден, что приводит к сбою загрузки поставщика. В этом руководстве мы расскажем, как восстановить или перестроить репозиторий WMI в Windows 10. Для тех, кто не в курсе, инструментарий управления Windows или WMI представляет собой набор спецификаций Microsoft для консолидации управления устройства и приложения в сети. Это база данных, в которой хранится метаинформация и определения для классов WMI . Только используя их, условия систем могут быть известны.
Репозиторий доступен здесь –
% WINDIR% \ system32 \ Wbem \ Repository
Вкратце, он предоставляет конечным пользователям статус локальной или удаленной компьютерной системы.
Примечание . Не используйте это на компьютере с кластером Server 2012
Содержание
- Восстановить или перестроить репозиторий WMI в Windows
- 1] Сбросить WMI Repository
- 2] Принудительное восстановление WMI
- WMI Самовосстановление не работает
- 3] WMI Fixer Tool
Восстановить или перестроить репозиторий WMI в Windows
Существуют инструменты командной строки для исправления или восстановления хранилища WMI. Тем не менее, Microsoft предполагает, что лучше всего проверить, есть ли коррупция.
Ниже приведен список ошибок и проблем с разрешениями, которые вы можете увидеть:
- Невозможно подключиться к корневым пространствам имен по умолчанию или rootcimv2. Сбой с кодом ошибки «0x80041002», указывающим на «WBEM_E_NOT_FOUND».
- Когда вы открываете «Управление компьютером» и щелкаете правой кнопкой мыши пункт «Управление компьютером» (локальное) и выбираете «Свойства», появляется следующее сообщение об ошибке: «WMI: не найден» или зависание при попытке подключения
- 0x80041010 WBEM_E_INVALID_CLASS
- Попытка использовать wbemtest , и он зависает
- Схемы/Объекты отсутствуют
- Странные ошибки подключения/работы (0x8007054e).
Лучший способ проверить это – запустить эту команду в командной строке с повышенными правами.
winmgmt/verifyrepository
Если в хранилище есть проблема, он ответит « хранилище не согласовано », если нет, то это что-то другое, что вызвало проблему. Теперь, когда вы уверены, что коррупция существует, давайте следуем этим советам, чтобы восстановить или перестроить репозиторий WMI.
1] Сбросить WMI Repository
Откройте командную строку с повышенными привилегиями.
Запустите команду:
winmmgmt/salvagerepository
Затем выполните команду, чтобы увидеть, вернется ли она как
winmgmt/verifyrepository
Если говорится, что Репозиторий не согласован , вам нужно выполнить:
winmgmt/resetrepository
Это поможет вам исправить хранилище WMI. Вот что означает каждая из команд WMI:
- salvagerepository: этот параметр при использовании с командой winmmgmt выполняет проверку согласованности. Если обнаружено несоответствие, он восстанавливает хранилище.
- verifyrepository: выполняет проверку непротиворечивости в WMI-хранилище.
- resetrepository: репозиторий сбрасывается в исходное состояние при первой установке операционной системы
Надеюсь, что это объясняет, что происходит, когда вы выполняете команды.
2] Принудительное восстановление WMI
WMI поставляется со встроенным процессом самовосстановления. Когда служба WMI перезапускается или обнаруживает любое повреждение, процедура самовосстановления запускается автоматически. Это происходит двумя способами:
Автообновление : Здесь будут использоваться образы резервных копий, если включена резервная копия VSS (теневое копирование тома).
Автообновление : . В этом процессе перестройки будут генерироваться свежие образы репозитория на основе зарегистрированных MOF. MOFS доступна в реестре здесь:
HKLM \ Software \ Microsoft \ WBEM \ CIMOM: автоматическое восстановление MOF
Примечание. Автоматическое восстановление MOF является ключевым моментом. Дважды щелкните по нему, чтобы проверить значение.
WMI Самовосстановление не работает
Если самовосстановление не работает, вы всегда можете воспользоваться процессом принудительного восстановления.
Проверьте значение regkey пусто или не здесь:
HKLM \ Software \ Microsoft \ WBEM \ CIMOM \ Авто-восстановление MOF
Если приведенный выше ключ пуст, скопируйте и вставьте значение ключа с другого компьютера. Убедитесь, что это из системы, которая эквивалентна рассматриваемому компьютеру.
Далее выполните команду
Winmgmt/resetrepository
Если вы получили сообщение об ошибке «Сброс хранилища WMI не выполнен. Код ошибки: 0x8007041B. Facility: Win32 ”, затем остановите все Dependency Services в службе WMI, выполнив следующие команды:
net stop winmgmt/y Winmgmt/resetrepository
Если оба предложенных исправления не работают, самое время попробовать автоматизированный инструмент.
3] WMI Fixer Tool
Этот инструмент исправит серверный WMI-репозиторий, если он поврежден или возникла связанная с ним проблема. Вы можете скачать WMI Fixer Tool от Technet.
Связанное чтение . WMI вызывает высокую загрузку ЦП.
Repair WMI
для Windows
Repair WMI — небольшая системная утилита для исправления параметров WMI в установленной системе. WMI (Windows Management Instrumentation) — это инструментарий управления Windows, являющийся базовой технологией централизованного управления и слежения за работой различных частей компьютерной системы.
WMI используется многими службами Windows и программными приложениями, и поэтому когда он поврежден работа многих сервисов становится невозможной (например, Windows Firewall). Особых настроек в Repair WMI нет, нужно просто запустить утилиту и она автоматически исправит найденные проблемы и конфликты.
Следует отметить, что этот инструмент входит в набор утилит для ремонта системы Windows Repair.
- Windows Repair для Windows
ТОП-сегодня раздела «Настройка, оптимизация»
CCleaner 6.16.10662
CCleaner — популярное приложение для оптимизации ПК, чистки реестра и удаления различного…
MSI Afterburner 4.6.5
MSI Afterburner — настоящая находка для истинного оверклокера, с помощью которой можно…
Mem Reduct 3.4
Mem Reduct — небольшая портативная утилита, которая позволяет высвободить до 25% используемой…
Win 10 Tweaker 19.4
Простой в использовании твикер для Windows, с помощью которого можно быстро и легко…
CCleaner Portable 6.16.10662
CCleaner Portable — портативная (переносная, не требующая инсталляции на компьютер) версия утилиты CCleaner для чистки системного мусора…
Process Hacker 2.39.124
Process Hacker — мощное приложение для полного контроля над задачами, процессами и службами, с…
Отзывы о программе Repair WMI
Admin
Отзывов о программе Repair WMI 2.8.8 пока нет, можете добавить…
Любой бывалый Windows-админ периодически сталкивается с проблемами в работе службы WMI (Windows Management Instrumentation) и ее компонентах. Наличие проблем в подсистеме WMI является критичным с точки зрения нормального функционирования Windows, поэтому администратору необходимо проверить и восстановить работоспособность WMI. В этой статье мы опишем простую методику диагностирования и устранения неполадок службы WMI в Windows.
О наличии проблем с WMI может свидетельствовать широкий спектр ошибок:
- Ошибки обработки WMI запросов в системных журналах и логах приложений (
0x80041002 - WBEM_E_NOT_FOUND
,
WMI: Not Found
,
0x80041010 WBEM_E_INVALID_CLASS
); - Ошибки обработки GPO, связанные на WMI ( некорректная работа wmi фильтров групповых политик, и пр.);
- WMI запросы выполняются очень медленно;
- Ошибки при установке или работе агентов SCCM/SCOM;
- Ошибки в работе скриптов (vbs или PowerShell), использующих пространство имен WMI (скрипты с Get-WmiObject и т.д.).
Содержание:
- Диагностика проблем с WMI
- Исправление WMI репозитория, перерегистрация библиотек, перекомпиляция MOF файлов
- Сброс и пересоздание WMI репозитория (хранилища)
Диагностика проблем с WMI
В первую очередь нужно проверить служба Windows Management Instrumentation (Winmgmt) установлена в Windows и запущена. Вы можете проверить состояние службы в консоли services.msc или с помощью PowerShell:
Get-Service Winmgmt | Select DisplayName,Status,ServiceName
Если служба Winmgmt запущена, вы можете проверить работоспособность WMI, обратившись к ней с помощью простого WMI-запроса. Вы можете выполнить wmi запрос из командной строки или из PowerShell. Например, следующая команда выведет список установленных в Windows программ:
wmic product get name,version
Простейшая PowerShell команда для получения информации о версии и билда Windows 10 через WMI может выглядеть так:
get-wmiobject Win32_OperatingSystem
Как вы видите, служба WMI ответила на запрос корректно. Если при выполнении такого WMI-запроса Windows возвращает ошибку, скорее всего сервиса WMI работает некорректно, поврежден WMI репозиторий или есть какие-то другие проблемы.
В моем случае, например, при открытии свойств WMI Control в консоли управления компьютером (compmgmt.msc) появлялась надпись:
Failed to initialize all required WMI classes Win32_Processor. WMI: Invalid namespace Win32_WMISetting. WMI: Invalid namespace Win32_OperationSystem. WMI: Invalid namespace
Ранее для диагностики WMI существовала официальная утилита от Microsoft – WMIDiag.vbs (Microsoft WMI Diagnosis). WMIdiag это vbs скрипт, который проверяет различные подсистемы WMI и записывает собранную информацию в лог файлы (по умолчанию логи находятся в каталоге %TEMP% — C:\USERS\%USERNAME%\APPDATA\LOCAL\TEMP\). Получившийся отчет состоит из файлов, имена которых начинаются с WMIDIAG-V2.2 и включает в себя следующие типы фалов:
- .log файлы содержат подробный отчет об активности и работе утилиты WMIDiag;
- .txt файлы содержат итоговые отчеты о найденных ошибках, на которые стоит обратить внимание;
- В .csv файлах содержится информация, нужная для долгосрочного анализа работы подсистемы WMI.
Совет. В 64 битных версиях Windows wmidiag нужно запускать так:
c:\windows\System32\cscript.exe wmidiag.vbs
в противном случае появится ошибка:
WMIDiag must be run from native 64-bit environment. It is not supported in Wow64.
После окончания работы утилиты WMIDiag администратор должен изучить полученные файлы логов, проанализировать и попытаться исправить найденные ошибки.
К сожалению, последняя версия WMIDiag 2.2 корректно работает только с версиями до Windows 8.1/Windows Server 2012 R2. На данный момент Microsoft даже удалила ссылку на загрузку WMIDiag из Download Center. Но при желании, этот скрипт можно найти в сети.
WMIDiag может дать подробную информацию по исправлению частных ошибок в WMI, но в большинстве случаев процесс это довольно трудоемкий и стоит потраченного времени только при решении инцидентов в критичных системах (как правило, на продуктивных серверах). Для массового сегмента рабочих станций пользователей сбросить и пересоздатьWMI репозиторий в Windows.
Исправление WMI репозитория, перерегистрация библиотек, перекомпиляция MOF файлов
В Windows 10/Windows Server 2016 вы можете проверить целостность репозитория WMI с помощью команды:
winmgmt /verifyrepository
Если команда возвращает, что база данных WMI находится в неконсистентном состоянии (INCONSISTENT или WMI repository verification failed), стоит попробовать выполнить “мягкое” исправление ошибок репозитория:
Winmgmt /salvagerepository
WMI repository has been salvaged.
Данная команда выполняет проверку согласованности хранилища WMI и при обнаружении несогласованности перестраивает базу данных WMI.
Перезапустите службу WMI:
net stop Winmgmt
net start Winmgmt
Если стандартный способ исправления ошибок в WMI не помог, попробуйте следующий скрипт. Данный скрипт представляет собой ”мягкий” вариант восстановления службы WMI на компьютере (выполняется перерегистрация dll библиотек и службы WMI, перекомпилируются mof файлы). Данная процедура является безопасной и ее выполнение не должно привести к каким-либо новым проблемам с системой.
sc config winmgmt start= disabled
net stop winmgmt
cd %windir%\system32\wbem
for /f %s in ('dir /b *.dll') do regsvr32 /s %s
wmiprvse /regserver
sc config winmgmt start= auto
net start winmgmt
for /f %s in ('dir /b *.mof') do mofcomp %s
for /f %s in ('dir /b *.mfl') do mofcomp %s
На 64 битной версии Windows эти действия нужно также выполнить для каталога SysWOW64. Замените третью строку на
cd %windir%\SysWOW64\wbem
Указанные команды можно выполнить путем простой вставки в окно командой строки, либо сохранить код в bat файле wmi_soft_repair.bat и запустить его с правами администратора. После окончания работы скрипта, перезагрузите Windows и проверьте работу WMI.
Сброс и пересоздание WMI репозитория (хранилища)
Если вам не помогли мягкие способ восстановления WMI, рассмотренные выше, придется перейти к более “жесткому” способу восстановления работоспособности службы WMI, заключающегося в пересоздании хранилищаWMI.
WMI репозиторий (хранилище) находится в каталоге
%windir%\System32\Wbem\Repository
и представляет собой базу данных, в которой содержится информация о метаданных и определениях WMI классов. В некоторых случаях WMI репозиторий может содержать статическую информацию классов. При повреждении репозитория WMI, в работе службы Windows Management Instrumentation (Winmgmt) могут наблюдаться ошибки вплоть до полной невозможности ее запустить.
Если вы подозреваете, что репозиторий WMI поврежден, имейте в виду, что его пересоздание — это последняя шаг, к которому нужно прибегнуть только тогда, когда другие операции не помогают реанимировать WMI.
Следующая команда выполнит сброс базы данных WMI к исходному состоянию (как после чистой установки Windows). Используйте эту команду для выполнения hard reset репозитория WMI, если параметре salvagerepository не исправил проблему:
Winmgmt /resetrepository
Совет. На практике бывают случаи, когда пересоздание хранилища WMI приводит к проблемам со сторонним софтом. Это связано с тем, что все записи в базе WMI обнуляются (до состояния чистой системы). Такие программы скорее всего, придется переустанавливать в режиме восстановления.
Если обе команды (
Winmgmt /salvagerepository
и
Winmgmt /resetrepository
) не восстановили консистентное состояние базы WMI, попробуйте выполнить “жесткое” пересоздание базы WMI вручную таким скриптом:
sc config winmgmt start= disabled
net stop winmgmt
cd %windir%\system32\wbem
winmgmt /resetrepository
winmgmt /resyncperf
if exist Repos_bakup rd Repos_bakup /s /q
rename Repository Repos_bakup
regsvr32 /s %systemroot%\system32\scecli.dll
regsvr32 /s %systemroot%\system32\userenv.dll
for /f %s in ('dir /b *.dll') do regsvr32 /s %s
for /f %s in ('dir /b *.mof') do mofcomp %s
for /f %s in ('dir /b *.mfl') do mofcomp %s
sc config winmgmt start= auto
net start winmgmt
wmiprvse /regserver
На 64 битной версии Windows нужно также перерегистрировать dll/exe и перекомпилировать mof файлы в каталоге %windir%\sysWOW64\wbem.
Данный скрипт полностью пересоздает хранилище WMI (старый репозиторий сохраняется в каталог Repos_bakup). После окончания работы скрипта нужно перезагрузить Windows. Затем протестируйте работу службы WMI простым запросом.
Проверьте состояние WMI репозитория. Если ошибки исправлены, команда
winmgmt /verifyrepository
должна вернуть:
WMI repository is consistent
В этой статье мы собрали основные способы, позволяющие продиагностировать и устранить неполадки службы и репозитория WMI.
Я столкнулся с этой ситуацией на днях: мои студенты тестировали управление системными функциями и две машины в домене (на обеих – Windows 10) стали возвращать ошибки при работе с Windows Management Instrumentation. Основной админ ещё не вышел из отпуска, пришлось вспоминать, что я бывший руководитель Отдела ИТ
Сразу отвечу на третий вопрос: без рабочего WMI, на мой взгляд, можно оставлять лишь домашний игровой компьютер, на котором, кроме игр и просмотра видео, больше ничего не делается (разве что дети учатся программировать). В остальных случаях, особенно на корпоративных машинах, тем более в домене, WMI должна работать как часы. Это моё мнение, кто-то может не согласиться.
Теперь о причинах произошедшего: их может быть очень много. Забегая вперед, скажу что на одной машине это произошло из-за того, что на жестком диске закончилось место, а затем был сбой по питанию из-за сломанного ИБП (увы, никто не застрахован; сервера, конечно, защищены от подобного, а обычная рабочая машинка не была). На второй хуже: нефатальный сбой жесткого диска с последующим BSOD. В целом, разобраться с причинами не так уж и важно, главное, выяснить, что причиной не является вирус или попытка взлома. Впрочем, намеренное удаление или случайная порча системных файлов тоже должны быть рассмотрены достаточно пристально.
Восстановление работоспособности WMI следует проводить поэтапно, от щадящих методов к деструктивным. Следует быть готовым к тому, что в самом худшем случае систему придётся переустановить. Не стоит лишний раз напоминать, что большинство команд должно выполняться от имени администратора.
1 этап. Проверка работы сервиса.
Проверяем имеется ли в системе служба Windows Management Instrumentation (Winmgmt)
и включена ли она. Вызываем Службы (в Windows 10 проще всего через Пуск/Средства администрирования/Службы, но я предпочитаю в любой версии Windows, кроме самых старых, напечатать в командной строке services.msc
), ищем Инструментарий управления Windows/Windows Management Instrumentation
, проверяем, запущена ли она:
Если она не запущена, пытаемся запустить, выставим режим запуска в «Автоматически». Если запущена, пытаемся перезапустить (Остановить/запустить). После этого проверяем работоспособность WMI. Проще всего сделать это, выполнив любой WMI-запрос в powershell
(напоминаю, что powershell в Windows 10 запускается через Пуск/Windows PowerShell/Windows Power Shell, но проще, на мой взгляд, запустить командную строку с админовскими правами, а в ней уже набрать powershell
), например, такой: (вы можете выполнить другой, свой любимый :))
Get-WmiObject -List -ComputerName localhost
Если у вас вылетела портянка объектов, всё в порядке. Если же полезли ошибки, значит, работоспособность не восстановлена, переходим ко второму этапу.
Между делом скажу пару слов об официальной утилите Microsoft WMI Diagnosis. Все почему-то наперебой её рекомендуют, как хороший помощник при восстановлении. Увы, я убил достаточно много времени на анализ результатов действия этой утилиты: скрипт создал кучу лог-файлов, через которые продраться можно, если вы никуда не торопитесь, у вас есть куча времени и полкило пуэра/кофе-машина. В причинах сбоев я разобрался быстрее без неё. Вероятность того, что она может помочь непосредственно в скором восстановлении работы WMI – очень мала.
2 этап. Недеструктивное восстановление
Стоит попытаться вначале выполнить перерегистрацию библиотек и рекомпиляцию файлов расширения свойств объектов (Managed Object Format, MOF
) и языковую составляющую этих файлов (MFL
). Практически гарантированно сработает, если попытка WMI-запроса у вас вызывала ошибку вида “Ошибка в файле WMI.MOF” или любом другом MOF-файле. Для этого выполним следующие операции:
- Остановим службу WMI, обязательно запретив её автостарт
- Перерегистрируем все библиотеки в папке Windows\system32\wbem
- Перерегистрируем службы WMI и WMI Provider Host
- Запускаем службу WMI и разрешаем её автостарт
- Рекомпилируем MOF и MFL файлы
Можно собрать всё это в один BAT-файл и запустить:
# пункт 1
sc config winmgmt start= disabled
net stop winmgmt
# пункт 2
cd %windir%\system32\wbem
for /f %%s in ('dir /b *.dll') do regsvr32 /s %%s
#пункт 3
wmiprvse /regserver
winmgmt /regserver
#пункт 4
sc config winmgmt start= auto
net start winmgmt
#пункт 5
for /f %%s in ('dir /b *.mof') do mofcomp %%s
for /f %%s in ('dir /b *.mfl') do mofcomp %%s
Отмечу, что таким образом я восстановил работу WMI на первой машине. Со второй, увы не получилось. Если у вас не получается, пора переходить к 3му этапу
3 этап. Деструктивное восстановление
Фактически, на 3м этапе мы пересоздаем хранилище WMI, как таковое, которое находится в папке Windows\System32\Wbem\Repository и является базой данных, в которой хранятся данные и определения стандартных WMI-классов и статическая информация дополнительных WMI-классов, если они создавались на вашей машине.
Перед операциями проверьте состояние жёсткого диска и файловой системы!!!
Проверяем целостность (На Windows XP и ниже не работает):
winmgmt /verifyrepository
В случае ответа отличного от “База данных WMI согласована”, можно выполнить «мягкое восстановление» командой:
winmgmt /salvagerepository
с последующим перезапуском службы:
net stop Winmgmt
net start Winmgmt
Если мягкое восстановление не помогло, пробуем вернуть хранилище в начальное состояние (последствия: все дополнительные классы WMI, когда-либо зарегистрированные в вашей системе, скорее всего, придётся регистрировать заново):
winmgmt /resetrepository
с последующим рестартом системы. Отмечу, что вторая машина заработала после этого этапа. Последствия были не сильно удручающими, но серьёзными: пришлось переинсталлировать Visual Studio и Delphi Starter, MS Office отказался работать и его пришлось деинсталлировать вручную, удаляя папки, файлы и записи из реестра, с последующей повторной установкой. Также слетели все наши собственные классы WMI.
Но, если и это не помогло, придётся удалять и создавать хранилище заново. Это можно сделать следующим BAT-файлом:
# Остановим службу WMI, обязательно запретив её автостарт
sc config winmgmt start= disabled
net stop winmgmt
# проводим реинициализацию WMI
cd %windir%\system32\wbem
winmgmt /kill
winmgmt /unregserver
winmgmt /regserver
winmgmt /resyncperf
# создаем на всякий случай резервную копию нашего хранилища в папку WMI_VicoNT_Backup
# у вас, разумеется, может быть другое имя папки
if exist WMI_VicoNT_Backup rd WMI_VicoNT_Backup /s /q
rename Repository Repos_bakup
# воссоздаем хранилище
regsvr32 /s %systemroot%\system32\scecli.dll
regsvr32 /s %systemroot%\system32\userenv.dll
for /f %%s in ('dir /b *.dll') do regsvr32 /s %%s
for /f %%s in ('dir /b *.mof') do mofcomp %%s
for /f %%s in ('dir /b *.mfl') do mofcomp %%s
# запускаем службу WMI, заново регистрируем WMI Provider Host
sc config winmgmt start= auto
net start winmgmt
wmiprvse /regserver
Перегружаем компьютер. Если и после этих действий WMI не заработала, путь один – переустановка системы.