1000+ инструкций в блоге SoftComputers
0 0 голоса
Рейтинг

WMI (Windows Management Instrumentation) — ключевой компонент Windows, обеспечивающий доступ к системной информации, выполнение скриптов и взаимодействие со сторонними приложениями. Проблемы с WMI, такие как повреждение репозитория или ошибки службы, могут нарушить работу системы, групповых политик, агентов SCCM/SCOM или скриптов. В этой статье мы разберем, как диагностировать и устранить ошибки WMI в Windows 10, 11 и Windows Server (2016/2019/2022), включая проверку службы, восстановление репозитория и перекомпиляцию MOF-файлов.

Приобрести оригинальные ключи активации Windows 11 можно у нас в каталоге от 1690 ₽

Признаки проблем с WMI

Ошибки WMI могут проявляться следующим образом:

— Ошибки в журналах событий: 0x80041002 (WBEM_E_NOT_FOUND), 0x80041010 (WBEM_E_INVALID_CLASS), Invalid namespace, Invalid class, Failed to initialize WMI classes.

— Некорректная работа WMI-фильтров в групповых политиках (GPO).

— Медленное выполнение или ошибки WMI-запросов в скриптах (Get-WmiObject, Get-CimInstance).

— Проблемы с агентами SCCM или SCOM.

— Ошибки сторонних приложений, использующих WMI.

Диагностика проблем с WMI

Проверка службы Winmgmt

1. Убедитесь, что служба Windows Management Instrumentation (Winmgmt) запущена:

Get-Service Winmgmt | Select DisplayName, Status, ServiceName

Или через консоль служб:

services.msc

Если служба остановлена, запустите ее:

net start Winmgmt

Тестирование WMI-запросов

1. Выполните простой WMI-запрос через командную строку:

wmic product get name, version

2. Или через PowerShell:

Get-WmiObject Win32_OperatingSystem

Если запросы возвращают ошибки, вероятно, поврежден репозиторий WMI или некорректно работают классы.

Проверка журналов событий

1. Включите логирование WMI:

wevtutil set-log Microsoft-Windows-WMI-Activity/Operational /enabled:true

2. Откройте Просмотр событий:

eventvwr.msc

3. Перейдите в:

Журналы приложений и служб -> Microsoft -> Windows -> WMI-Activity -> Operational

4. Ищите события с EventID 5858, где указаны проблемные пространство имен (namespace) и классы WMI. Если ошибка связана с системным классом (например, root\cimv2:Win32_OperatingSystem), репозиторий WMI поврежден.

Проверка через WMI Control

1. Откройте Управление компьютером:

compmgmt.msc

2. Перейдите в Службы и приложения -> WMI Control.

3. Если отображается ошибка, например:

Failed to initialize all required WMI classes
Win32_Processor: WMI: Invalid namespace
Win32_WMISetting: WMI: Invalid namespace
Win32_OperatingSystem: WMI: Invalid namespace

Это подтверждает повреждение репозитория.

Исправление WMI: «Мягкое» восстановление

Проверка целостности репозитория

1. Проверьте состояние репозитория WMI:

winmgmt /verifyrepository

Если выводится WMI repository is INCONSISTENT или WMI repository verification failed, репозиторий поврежден.

2. Попробуйте восстановить репозиторий:

winmgmt /salvagerepository

Эта команда проверяет согласованность и перестраивает репозиторий, сохраняя данные.

3. Перезапустите службу Winmgmt:

net stop Winmgmt
net start Winmgmt

Перерегистрация библиотек и перекомпиляция MOF-файлов

Если восстановление не помогло, выполните «мягкий» сброс WMI:

1. Сохраните следующий скрипт в файл wmi_soft_repair.bat и запустите его с правами администратора:

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

2. Для 64-битных систем повторите действия для каталога %windir%\SysWOW64\wbem, заменив третью строку:

cd %windir%\SysWOW64\wbem

3. Перезагрузите компьютер и проверьте WMI запросом:

Get-WmiObject Win32_OperatingSystem

Сброс и пересоздание WMI-репозитория

Если «мягкое» восстановление не помогло, выполните «жесткий» сброс репозитория WMI.

Автоматический сброс

1. Выполните команду:

winmgmt /resetrepository

Это сбросит репозиторий к состоянию чистой установки Windows.

Предупреждение: Сброс может нарушить работу стороннего ПО, использующего WMI. В таких случаях потребуется переустановка программ.

Ручной сброс репозитория

Если автоматический сброс не сработал, используйте следующий скрипт (wmi_hard_reset.bat), запустив его с правами администратора:

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-битных систем повторите действия для %windir%\SysWOW64\wbem.

Скрипт создает резервную копию репозитория (Repos_bakup) и пересоздает его. После выполнения перезагрузите компьютер.

Проверка результата

1. Проверьте состояние репозитория:

winmgmt /verifyrepository

Должно отобразиться:

WMI repository is consistent

2. Выполните тестовый WMI-запрос:

wmic product get name, version

или

Get-WmiObject Win32_OperatingSystem

3. Проверьте журнал WMI-Activity в Просмотре событий на наличие ошибок.

Дополнительные рекомендации

Диагностика устаревшими инструментами:

— Утилита WMIDiag.vbs (версия 2.2) подходит только для Windows 8.1 и Server 2012 R2 и ранее. Найти ее можно в интернете, но для новых систем она не рекомендуется.

Проблемы со сторонним ПО:

— Если сброс WMI нарушил работу программ, переустановите их, так как их WMI-классы могли быть удалены.

Журналы событий:

— Анализируйте ошибки в Event Viewer (WMI-Activity) для выявления проблемных классов или пространства имен.

Профилактика:

— Регулярно проверяйте целостность системы с помощью:

sfc /scannow

— Обновляйте Windows для предотвращения ошибок WMI.

Эти методы позволяют диагностировать и устранить большинство проблем с WMI, восстановив функциональность службы и репозитория в Windows.

author avatar
copywriter
banner for Windows
Лицензионный ключ активации Windows от
1099 ₽ Купить
0 0 голоса
Рейтинг
Подписаться
Уведомить о
guest
     
0 отзывов
28
Межтекстовые Отзывы
Посмотреть все комментарии