User Tools

Site Tools


чиним_wmi

This is an old revision of the document!


Чиним WMI

Если в нашем домене GPO применяются с использованием фильтра - иногда можно обнаружить ошибку при их выполнении. Моделирование с использованием инструмента Результаты групповой политики покажет такую ошибку:

 Неправильный фильтр WMI

Это говорящий признак того, что на машине, к которой не применяется нужная нам политика - есть проблемы с работой WMI.

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

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

Проблемная машина:

Нормально работающая машина:

WMI soft reset

1. В первую очередь проверим целостность компонентов WMI.

 winmgmt /verifyrepository

2. Если команда рапортует о каких-либо проблемах - мы можем попробовать мягкий сброс WMI следующей командой, выполнив последующую перезагрузку службы Инструментарий управления Windows:

 Winmgmt /salvagerepository
 net stop Winmgmt
 net start Winmgmt   

:!: Иногда обе команды возвращают одно и то же: База данных WMI согласована. В этом случае переходим к п.3 и пробуем исправлять другими методами.

3. Если описанный выше способ не помог - можно попробовать следующий cmd-скрипт:

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 ^| findstr /V /I "uninstall.mof"') do mofcomp %s
for /f %s in ('dir /b *.mfl ^| findstr /V /I "uninstall.mfl"') do mofcomp %s

В случае, если мы работаем в 64-х битной системе - скрипт необходимо выполнить и для папки %windir%\SysWOW64\wbem.

sc config winmgmt start= disabled
net stop winmgmt
cd %windir%\SysWOW64\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 ^| findstr /V /I "uninstall.mof"') do mofcomp %s
for /f %s in ('dir /b *.mfl ^| findstr /V /I "uninstall.mfl"') do mofcomp %s

:!: Если по каким-либо причинам он не отрабатывает через cmd-файл - можно выполнить каждую команду по отдельности.

чиним_wmi.1744026480.txt.gz · Last modified: 2025/04/07 11:48 by jp