Teh Hermit
Trace: • чиним_wmi

Чиним WMI

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

 Неправильный фильтр 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 через compmgmt.msc.

WMI hard reset

Если софт-ресет WMI нам не помог - переходим к hard reset.

:!: ВНИМАНИЕ: hard reset может приводить к потенциальным проблемам, т.к. WMI здесь сбрасывается полностью, до состояния чистой установки Windows.

1. Пробуем выполнить команду и перезагрузить службу:

 Winmgmt /resetrepository
 net stop Winmgmt
 net start Winmgmt 

2. Если и это не помогло, выполняем скрипт:

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

Для 64-х битной системы необходимо также перекомпилировать mof-файлы в папке: %windir%\sysWOW64\wbem.

После выполнения сприпта снова перезагружаемся и проверяем состояние WMI.

ActiveDirectory, Microsoft, Windows, GPO, WMI
Previous Next

Teh Hermit

Table of Contents

  

Microsoft

  Active Directory
  Active Directory Certificate Services
  Active Directory Federation Services
  BitLocker
  Terminal Services
  HYPER-V
  Exchange
  Internet Information Services (IIS)
  Storage Spaces Direct
  WSUS
  Windows Server
  Windows Server Core
  Windows
  Windows Admin Center
  Windows Backup
  Windows Firewall
  Windows 11
  Microsoft Office
  IPAM
  NPS и RADIUS
  Office Online
  Microsoft SQL Server
  Microsoft Endpoint Configuration Manager
  PowerShell
  KMS-активация

Unix-like

  Astra Linux
  Asterisk и FreePBX
  SQUID
  Debian
  CentOS
  Ubuntu Server + Desktop
  pfSense
  PostgreSQL
  SSH
  OpenSSL
  Zabbix

  

Hardware

  Keychron
  WakeOnLan
  Серверы HP
  Серверы SNR
  Настройка планшетов Handheld

  

Networking

  Cisco
  D-Link
  Mikrotik
  Keenetic
  Samsung

  

Other

  1С
  Docker
  DokuWiki
  Ghost Blog
  GoodbyeDPI
  Graylog
  VMWare
  ProxMox
  PrivateBin
  Outline VPN
  Wireguard
  Российская криптография
  Р-Виртуализация
  Kaspersky
  FileZilla ftp-сервер
  SecureCRT
  Soti MobiControl
  SysInternals
  VeraCrypt
  Non-Sucking Service Manager
  NMAP

     

DevOps

  Git
  Gitlab