Любой бывалый 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%APPDATALOCALTEMP). Получившийся отчет состоит из файлов, имена которых начинаются с WMIDIAG-V2.2 и включает в себя следующие типы фалов:
- .log файлы содержат подробный отчет об активности и работе утилиты WMIDiag;
- .txt файлы содержат итоговые отчеты о найденных ошибках, на которые стоит обратить внимание;
- В .csv файлах содержится информация, нужная для долгосрочного анализа работы подсистемы WMI.
Совет. В 64 битных версиях Windows wmidiag нужно запускать так:
c:windowsSystem32cscript.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%system32wbem
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%SysWOW64wbem
Указанные команды можно выполнить путем простой вставки в окно командой строки, либо сохранить код в bat файле wmi_soft_repair.bat и запустить его с правами администратора. После окончания работы скрипта, перезагрузите Windows и проверьте работу WMI.
Сброс и пересоздание WMI репозитория (хранилища)
Если вам не помогли мягкие способ восстановления WMI, рассмотренные выше, придется перейти к более “жесткому” способу восстановления работоспособности службы WMI, заключающегося в пересоздании хранилищаWMI.
WMI репозиторий (хранилище) находится в каталоге
%windir%System32WbemRepository
и представляет собой базу данных, в которой содержится информация о метаданных и определениях 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%system32wbem
winmgmt /resetrepository
winmgmt /resyncperf
if exist Repos_bakup rd Repos_bakup /s /q
rename Repository Repos_bakup
regsvr32 /s %systemroot%system32scecli.dll
regsvr32 /s %systemroot%system32userenv.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%sysWOW64wbem.
Данный скрипт полностью пересоздает хранилище WMI (старый репозиторий сохраняется в каталог Repos_bakup). После окончания работы скрипта нужно перезагрузить Windows. Затем протестируйте работу службы WMI простым запросом.
Проверьте состояние WMI репозитория. Если ошибки исправлены, команда
winmgmt /verifyrepository
должна вернуть:
WMI repository is consistent
В этой статье мы собрали основные способы, позволяющие продиагностировать и устранить неполадки службы и репозитория WMI.
Ошибка WMI код 10 встречается в операционной системе Windows 7 на всех компьютерах после установки операционной системы и сервис пака с привода DVD или с загрузочной флэшки на которой был установочный образ системы.
Что бы посмотреть наличие ошибки WMI с кодом 10 щелкните правой клавишей мышки (далее ПКМ) на «Мой компьютер» в выпадающем меню нажмите левой кнопкой мыши (далее ЛКМ) на «Управление».
В открывшемся окне «Управление компьютером (локальным)» нажмите на «Просмотр событий» затем «Журналы Windows» и «Приложения», нашли эту ошибку, тогда читаем дальше как устранить ошибку .
1. Отключаем контроль учетных записей.
2. Перезагружаем компьютер в безопасный режим. Для этого на начальном экране загрузки загрузки компьютера (как только у вас на мониторе появились белые буквы на черном фоне или цветная эмблема материнской платы) жмите клавишу F8, нажимать можно несколько раз ничего не испортите.
3. Должны увидеть варианты загрузки, выбираете «Безопасный режим» и нажимаете «Enter» на клавиатуре.
4. После загрузки в безопасном режиме щелкните ПКМ на «Мой компьютер» в выпадающем меню нажмите ЛКМ на «Управление».
В открывшемся окне «Управление компьютером (локальным)» нажмите на «Службы и приложения» а после на «Службы».
5. Находим службу Инструментарий управления Windows (Windows Management Instrumentation), останавливаем её кнопкой «Остановить» после этого окно «Управление компьютером» можно закрыть.
6.Открываем папку, вот её местонахождение c:windowssystem32wbemrepository. В этой папке видим файлы:
INDEX.BTR
MAPPING1.MAP
MAPPING2.MAP
MAPPING3.MAP
OBJECTS.DATA>
На всякий случай скопируйте файлы в папку где бы Вы могли их потом найти. А затем удалите эти файлы из папки /repository.
7. Произведите перезагрузку компьютера «Пуск» далее «Перезагрузка».
8. При первоначальной загрузке компьютера возможно торможение, некоторое замедление в работе. Ничего страшного — после двух перезагрузок компьютер станет работать нормально.
9. Вторая загрузка должна пройти быстрее. Проверяем журнал Windows, как во втором абзаце, больше никаких ошибок WMI код 10 у Вас не должно появляться!
10. Включаем контроль учетных записей обратно.
В Майкрософт про ошибку WMI c кодом 10 говорят, что она не критичная и на работоспособность никак не влияет. Но кому понравиться если Ваш компьютер будет «ругаться» на какие-то там ошибки, к тому же если решение довольно простое.
Надеюсь кому-нибудь пригодиться эта шпаргалка которая Вам поможет победить ошибку WMI код 10.
Ошибка WMI код 10 как устранить в Windows 7
Ошибка WMI код 10 встречается в операционной системе Windows 7 на всех компьютерах после установки операционной системы и сервис пака с привода DVD или с загрузочной флэшки на которой был установочный образ системы.
Что бы посмотреть наличие ошибки WMI с кодом 10 щелкните правой клавишей мышки (далее ПКМ) на «Мой компьютер» в выпадающем меню нажмите левой кнопкой мыши (далее ЛКМ) на «Управление».
вход в управление компьютером
В открывшемся окне «Управление компьютером (локальным)» нажмите на «Просмотр событий» затем «Журналы Windows» и «Приложения», нашли эту ошибку, тогда читаем дальше как устранить ошибку .
Ошибка WMI код 10
Ошибка WMI код 10 устранение
2. Перезагружаем компьютер в безопасный режим. Для этого на начальном экране загрузки загрузки компьютера (как только у вас на мониторе появились белые буквы на черном фоне или цветная эмблема материнской платы) жмите клавишу F8, нажимать можно несколько раз ничего не испортите.
Начальный экран загрузки компьютера
3. Должны увидеть варианты загрузки, выбираете «Безопасный режим» и нажимаете «Enter» на клавиатуре.
Выбор загрузки безопасного режима
4. После загрузки в безопасном режиме щелкните ПКМ на «Мой компьютер» в выпадающем меню нажмите ЛКМ на «Управление».
вход в управление компьютером
В открывшемся окне «Управление компьютером (локальным)» нажмите на «Службы и приложения» а после на «Службы».
5. Находим службу Инструментарий управления Windows (Windows Management Instrumentation), останавливаем её кнопкой «Остановить» после этого окно «Управление компьютером» можно закрыть.
остановка службы winmgmt
6.Открываем папку, вот её местонахождение c:windowssystem32wbemrepository. В этой папке видим файлы:
INDEX.BTR
MAPPING1.MAP
MAPPING2.MAP
MAPPING3.MAP
OBJECTS.DATA>
На всякий случай скопируйте файлы в папку где бы Вы могли их потом найти. А затем удалите эти файлы из папки /repository.
7. Произведите перезагрузку компьютера «Пуск» далее «Перезагрузка».
8. При первоначальной загрузке компьютера возможно торможение, некоторое замедление в работе. Ничего страшного — после двух перезагрузок компьютер станет работать нормально.
9. Вторая загрузка должна пройти быстрее. Проверяем журнал Windows, как во втором абзаце, больше никаких ошибок WMI код 10 у Вас не должно появляться!
10. Включаем контроль учетных записей обратно.
В Майкрософт про ошибку WMI c кодом 10 говорят, что она не критичная и на работоспособность никак не влияет. Но кому понравиться если Ваш компьютер будет «ругаться» на какие-то там ошибки, к тому же если решение довольно простое.
Надеюсь кому-нибудь пригодиться эта шпаргалка которая Вам поможет победить ошибку WMI код 10.
Источник
Как устранить ошибку WMI с кодом 10 при запуске Windows 7 / Vista с установленным SP
Автор: Max Bond
Дата записи
Эта проблема проявляется на Windows Vista после установки SP1 (присутствует и в SP2), а также наблюдается в Windows 7 после установки SP1.
Сообщение об ошибке в разделе Просмотр событий -> Журналы Windows -> Приложение :
Event filter with query «SELECT * FROM __InstanceModificationEvent WITHIN 60 WHERE TargetInstance ISA «Win32_Processor» AND TargetInstance.LoadPercentage > 99″ could not be reactivated in namespace «//./root/CIMV2» because of error 0x80041003. Events cannot be delivered through this filter until the problem is corrected.
Ошибка WMI (код события: 10)
Как исправить:
- Отключаем контроль учетных записей.
- Перезагружаемся в безопасный режим.
- Останавливаем службу Инструментарий управления Windows (Windows Management Instrumentation).
- Открываем папку c:windowssystem32wbemrepository. На всякий случай содержимое папки копируем в безопасное место, а затем удаляем.
- Перезагружаемся.
- При первой загрузке возможны проблемы: торможение, подвисания и т.п. Ничего страшного — перезагружаемся еще раз.
- Вторая загрузка должна пройти быстро и без помех. Проверяем логи — больше никаких ошибок WMI во время загрузки системы!
- Включаем контроль учетных записей обратно.
В заключение следует сказать о том, что данная ошибка классифицируется в Микрософт как некритичная и не влияющая на работоспособность системы. И это действительно так, два года проработал с ней без проблем. Но если есть способ исправить, почему бы это не сделать? ))
Источник
WMI: Исправление ошибок, восстановление репозитория в Windows
Любой бывалый 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 );
Диагностика проблем с 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 может выглядеть так:
Как вы видите, служба WMI ответила на запрос корректно. Если при выполнении такого WMI-запроса Windows возвращает ошибку, скорее всего сервиса WMI работает некорректно, поврежден WMI репозиторий или есть какие-то другие проблемы.
В моем случае, например, при открытии свойств WMI Control в консоли управления компьютером (compmgmt.msc) появлялась надпись:
Ранее для диагностики WMI существовала официальная утилита от Microsoft – WMIDiag.vbs (Microsoft WMI Diagnosis). WMIdiag это vbs скрипт, который проверяет различные подсистемы WMI и записывает собранную информацию в лог файлы (по умолчанию логи находятся в каталоге %TEMP% — C:USERS%USERNAME%APPDATALOCALTEMP). Получившийся отчет состоит из файлов, имена которых начинаются с WMIDIAG-V2.2 и включает в себя следующие типы фалов:
- .log файлы содержат подробный отчет об активности и работе утилиты WMIDiag;
- .txt файлы содержат итоговые отчеты о найденных ошибках, на которые стоит обратить внимание;
- В .csv файлах содержится информация, нужная для долгосрочного анализа работы подсистемы WMI.
в противном случае появится ошибка:
После окончания работы утилиты 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 с помощью команды:
Если команда возвращает, что база данных WMI находится в неконсистентном состоянии (INCONSISTENT или WMI repository verification failed), стоит попробовать выполнить “мягкое” исправление ошибок репозитория:
Данная команда выполняет проверку согласованности хранилища WMI и при обнаружении несогласованности перестраивает базу данных WMI.
Перезапустите службу WMI:
net stop Winmgmt
net start Winmgmt
Если стандартный способ исправления ошибок в WMI не помог, попробуйте следующий скрипт. Данный скрипт представляет собой ”мягкий” вариант восстановления службы WMI на компьютере (выполняется перерегистрация dll библиотек и службы WMI, перекомпилируются mof файлы). Данная процедура является безопасной и ее выполнение не должно привести к каким-либо новым проблемам с системой.
sc config winmgmt start= disabled
net stop winmgmt
cd %windir%system32wbem
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
Указанные команды можно выполнить путем простой вставки в окно командой строки, либо сохранить код в bat файле wmi_soft_repair.bat и запустить его с правами администратора. После окончания работы скрипта, перезагрузите Windows и проверьте работу WMI.
Сброс и пересоздание WMI репозитория (хранилища)
Если вам не помогли мягкие способ восстановления WMI, рассмотренные выше, придется перейти к более “жесткому” способу восстановления работоспособности службы WMI, заключающегося в пересоздании хранилищаWMI.
Если вы подозреваете, что репозиторий WMI поврежден, имейте в виду, что его пересоздание — это последняя шаг, к которому нужно прибегнуть только тогда, когда другие операции не помогают реанимировать WMI.
Следующая команда выполнит сброс базы данных WMI к исходному состоянию (как после чистой установки Windows). Используйте эту команду для выполнения hard reset репозитория WMI, если параметре salvagerepository не исправил проблему:
Если обе команды ( Winmgmt /salvagerepository и Winmgmt /resetrepository ) не восстановили консистентное состояние базы WMI, попробуйте выполнить “жесткое” пересоздание базы WMI вручную таким скриптом:
sc config winmgmt start= disabled
net stop winmgmt
cd %windir%system32wbem
winmgmt /resetrepository
winmgmt /resyncperf
if exist Repos_bakup rd Repos_bakup /s /q
rename Repository Repos_bakup
regsvr32 /s %systemroot%system32scecli.dll
regsvr32 /s %systemroot%system32userenv.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
Данный скрипт полностью пересоздает хранилище WMI (старый репозиторий сохраняется в каталог Repos_bakup). После окончания работы скрипта нужно перезагрузить Windows. Затем протестируйте работу службы WMI простым запросом.
Проверьте состояние WMI репозитория. Если ошибки исправлены, команда winmgmt /verifyrepository должна вернуть:
В этой статье мы собрали основные способы, позволяющие продиагностировать и устранить неполадки службы и репозитория WMI.
отличная и очень редкая информация! спасибо!
Отличная полезная статья. Сразу решил проблему.
На компьютере возникли проблемы в WMI. При каждом запуске компьютера выходит окошко: «The model does not support WMI», компьютер при этом работает как обычно. Нашла Вашу статью «Устранение неполадок в WMI» и, руководствуясь ей, сначала проверила имеется ли в системе служба Windows Management Instrumentation и включена ли она (имеется и включена), а затем, как у Вас написано, попробовала протестировать работоспособность WMI, обратившись к ней с помощью Powershell — служба выдаёт корректный ответ. Также, вычитав информацию на другом ресурсе, вводила в командную строку sfc/scannow, но никаких ошибок. Посоветуйте, пожалуйста, что я могу сделать?
Как правило в таких ситуациях должен помочь ребилд хранилища WMI. Попробуйте, в статье это подробно описано.
Спасибо, выручил.
Я сразу воспользовался же методом «Перерегистрация библиотек WMI и перекомпиляция mof файлов»
Плиз, поясните по-подробнее смысл команды
if exist Repos_bakup rd Repos_bakup /s /q и её ключей. То ли это условное указание на незнамо что или ещё что. Я в сомнениях по недомыслию. Сенькую.
Плиз, поясните по-подробнее смысл команды
if exist Repos_bakup rd Repos_bakup /s /q и её ключей. То ли это условное указание на незнамо что или ещё что. Я в сомнениях по недомыслию. Сенькую. А то на некоторых сайтах со ссылкой на ваш скрипт юзеры, его применившие, плачут на полный стопер системы и вынуждены откатываться.
ОГРОМНОЕ СПАСИБО! Ничего не помогало, наткнулся на эту статью случайно ЗАРАБОТАЛО! Поклоны бью!
C:WindowsSystem32wbem>for /f %%s in (‘dir /b *.dll’) do regsvr32 /s %%s
Непредвиденное появление: %%s.
oO
windows 2012 r2
У вас в команде неправилные одиночные кавычки. Наберите руками.
for /f %%s in (‘dir /b *.dll’) do regsvr32 /s %%s
у меня та же проблема. кавычки правильные вроде
Формат %%s используется при запуске внутри сценария (*.bat или *.cmd файла).
При использовании в консоли нужно убрать один знак ‘%’. Т.е. команда будет такая:
for /f %s in (‘dir /b /s *.dll’) do regsvr32 /s %s
Здравствуйте. Я ни разу не системщик, работаю вынужденно на фрилансе. Столкнулся в 8.1 Pro с признаками, которые не мог распознать, стал копать, вышел на WMI. К моменту разборок со службой точки сохранения старше 2 дней уже были затёрты. Нашёл, как заменить куст System версией из RegBack с помощью инсталляционного диска (там дата была недельной давности). Нашёл ваши рекомендации. Остановил службу, ввожу (power shell из-под админа, для меня непонятно его отличие от командной строки, командную строку запустил чуть позже) for /f %%s in (‘dir /b *.dll’) do regsvr32 /s %%s — мне отвечает: «строка:1 знак:4
+ for /f %%s in (‘dir /b *.dll’) do regsvr32 /s %%s
+ »
Отсутствует открывающий знак «(» после ключевого слова «for»…
Дописываю скобку после for — выдаёт строку >> и тишина.
Читаю комменты — «надо убрать знак «%», если не бат-файл. Но если он выдаёт ошибку со скобкой, то бат-файл не выполнится.
Там же вы пишите «Указанные команды можно выполнить путем простой вставки в окно командой строки» — и ни слова про %%.
Понятно, что продираюсь сквозь ваши советы, и конечно спасибо, но для несистемщика — очень тяжко.
Вот еще: wmiprvse /regserver командная строка молча проглотила, а на winmgmt /regserver командная строка ответила «недопустимый параметр
WMI
Использование:….»
далее идёт мануал.
Для меня это тупик, не понимаю. Стал выполнять далее, на последнюю строку for /f %s in (‘dir /b *.mfl’) do mofcomp %s ответил: Файл не найден.
Подскажите, пожалуйста, при установке на Windows 7 x64 пакета WebDeploy 3.6 в самом конце установки пишет об ошибке в скрипте и возвращает код ошибки 1702. Гугл сообщает, что ошибка возможно кроется в некорректной работе WMI, перекомпиляция файлов приведенным скриптом (указанная на форумах как путь решения проблемы) не помогла.
В логе установщика ошибка при вызове InstallEtwManifest.
WMIDiag пишет о наличии ошибок в ключах CLSID, связанных с InProcServer32.
winmgmt /verifyrepository возвращает, что все ОК
Заранее благодарен
Почему вы решили, что ошибка связана с WMI, возможно дело в самом установщике или службы Windows Installer.
Согласно кодов ошибок установщика MSI:
1702 — Configuring [2] cannot be completed until you restart your system
Попробуйте просто перезагрузить систему
Не совсем. Полное сообщение: «Error 1720. There is a problem with this Windows Installer package. A script required for this install to complete could not be run. Contact your support personnel or package vendor. Custom action InstallEtwManifest script error -2147221163.»
1) Попробуйте произвести установку с отключенным UAC.
2) Включите ведение подробного журнала установщика Windows m siexec /i /l*v c:tmpinstall.log
Может в логе что-то более конкретное будет…
Не работает служба WMI Writer
Собственно из-за этой службы не имею возможность делать полный БэкАп системы через Акронис, в Акронисе сказали, обратиться в службу поддержки Майкрософт. Перерегистрация компонентов VSS (Volume Shadow Copy Service) в Windows Server не помогла. Что еще можно сделать? спасибо! 🙁
Как я понял, вы уже пытались воспользоваться инструкцией https://winitpro.ru/index.php/2017/12/26/reregister-vss-in-windows-server/
Я бы еще попробовал запустить проверку/восстановление образа Windows с помощью
Repair-WindowsImage -Online -RestoreHealth
Из практики могу сказать, что если не помогает перерегистрация VSS writer-ов, сброс WMI репозитория,единственно что теоретически сможет помочь (без переустановки системы), внимательное изучение журналов системы, приложения и последовательное исправление всех связанных ошибок. Но это все очень трудоемко и готового алгоритма я не знаю.
При вводе 3-ей строки споткнулась на том, что не знаю, как вводится спецсимвол иена (юань) в командной строке. Подскажите, пожалуйста!
Не пойму, где вы нашли символ иены? Из спецсимволов использованы только проценты….
Код скрипт не нужно вводит — выполняйте его через копировать/вставить
Подскажите, пожалуйста, как вводятся символы в командную строку, которых нет на клавиатуре? Необходимо восстановить файл WMIServi Application.
Спец символы можно вводить с клавиатуры,, зажав клавишу alt и набрав код символа на цифровой клавиатуры. Таблица с кодами ASCII символов легко ищется в Интернете.
Например, чтобы набрать символ градуса (º), нужно зажать ALT, и ввести 0176 на цифровой (!!) клавиатуре (не цифры на основной).
Либо копи/паст из Word
Спасибо за подсказку, с символами ASCII и таблицей я разобралась. Проблема в том, что скопировать и вставить в командную строку ничего не получается; ПК — ноутбук, цифровая клавиатура есть, но в виртуальном виде, и магии в виде преобразования цифр в символы ASCII не происходит. Очень прошу, подскажите, как быть?
1) Подключила доп. клавиатуру, простые символы перекодируются, сложные (30%) — нет. Как получить сложные символы? 2) Можно ли настроить командную строку т. о., чтобы пользоваться функциями копи/вставка? Windows Vista.
Попробуйте выполнить команду: cmd /u
Это переключение в Unicode
Алина, а зачем собственно вам спец сиволы в cmd? Может вы не с того конца заходите к проблеме?
Может быть. Попробую восстановить все удалённые файлы. Большое Спасибо за помощь и за конструктивный подход в решении компьютерных задач!
Спасибо . Помог «мягкий» вариант. Очень толковое описание ошибки.
Приветствую, возник такой вопрос, при вводе вот этих команд:
winmgmt /kill
winmgmt /unregserver
winmgmt /regserver
пишет: недопустимый параметр, так и должно быть?
еще наткнулся вот на такой сценарий:
sc config winmgmt start= disabled
net stop winmgmt
rundll32 wbemupgd, RepairWMISetup
rundll32 wbemupgd, UpgradeRepository
regsvr32 /s %systemroot%system32scecli.dll
regsvr32 /s %systemroot%system32userenv.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
я так понял это то же самое, что и в «жестком» пересоздании базы, вот только есть другие команды и в конце последовательность другая команды winmgmt /regserver — это влияет?
Добрый день
Подскажите, на эту ошибку нужно обращать внимание:
Инструментарий управления Windows остановил WMIPRVSE.EXE, так как для квоты достигнут порог предупреждения. Квота: HandleCount, значение: 4099, максимальное значение: 4096, PID WMIPRVSE: 2320, поставщики в этом процессе: %systemroot%system32wbemcimwin32.dll, %systemroot%system32wbemntevt.dll
Что-то при этом не работает?
Вы можете увеличить значение лимитов для WMI с помощью wbemtest.exe. (_https://blogs.technet.microsoft.com/askperf/2014/08/12/wmi-how-to-troubleshoot-wmi-high-handle-count/)
или из powershell:
$config = gwmi -Class “__ProviderHostQuotaConfiguration” -Namespace root
$config | select -Property * -ExcludeProperty __* | ft -AutoSize
$config.HandlesPerHost = 8192
$config.ThreadsPerHost = 512
$config.Put()
Да все при этом вроде бы все нормально работает.
Спасибо за статью.
Спасибо! Помог мягкий способ! Но столкнулся с проблемой:
«winmgmt /regserver
пишет: недопустимый параметр, так и должно быть?»
Также были проблемы с %%s и %s — внесите коррективы к описанию в самом начале, пожалуйста.
Проблема возникла на Win10 — ноутбук Acer Aspire R3-471GT после вынужденного обновления BIOS от производителя.
Сейчас все работает, кроме сенсорного ввода. Пытаюсь решить проблему дальше
чет не один из вариантов не помог :((
на команду winmgmt /verifyrepository пишет что базы согласованы, но все равно пуск не удался, даже не знаю что делать
есть варианты еще?
Добрый день! А Вы сталкивались с ошибкой: Регистрация сервера <73E709EA-5D93-4B2E-BBB0-99B7938DA9E4>DCOM не выполнена за отведенное время ожидания. 73E709EA-5D93-4B2E-BBB0-99B7938DA9E4 — это как раз Microsoft WMI Provider Subsystem Host. Система Windows Server 2012 полсе перезагрузки работает ровно 6 дней без проблем потом начинаются сыпаться эти ошибки каждые 10 минут.
Не сталкивался, поищите описание проблемы в буржунете по запросу «The server <784E29F4-5EBE-4279-9948-1E8FE941646D>did not register with DCOM within the required timeout.»
в статье выполнил
sc config winmgmt start= disabled
net stop winmgmt
cd %windir%system32wbem
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%SysWOW64wbem
[PS] C:work>Winmgmt /salvagerepository
База данных WMI согласована
сейчас не работают некоторые команды. например
[PS] C:work>Get-NetAdapter
Get-NetAdapter : Недопустимый класс
строка:1 знак:1
+ Get-NetAdapter
+
+ CategoryInfo : MetadataError: (MSFT_NetAdapter:ROOT/StandardCimv2/MSFT_NetAdapter) [Get-NetAdapter], Ci
mException
+ FullyQualifiedErrorId : HRESULT 0x80041010,Get-NetAdapter
Источник
EXE проблемы с drivermax.exe чаще всего связаны с повреждением или отсутствием исполняемого файла, и зачастую возникают во время запуска DriverMax. В большинстве случаев скачивание и замена файла EXE позволяет решить проблему. Помимо прочего, в качестве общей меры по профилактике и очистке мы рекомендуем использовать очиститель реестра для очистки любых недопустимых записей файлов, расширений файлов EXE или разделов реестра, что позволит предотвратить появление связанных с ними сообщений об ошибках.
Windows Executable File форматы, классифицируемые в качестве Исполнимые файлы, чаще всего имеют расширение EXE. Загрузите новую версию drivermax.exe для %%os%% в списке файлов ниже. Также доступны варианты для других версий Windows (при необходимости). В некоторых случаях в настоящее время в нашей базе могут отсутствовать некоторые версии drivermax.exe, но их можно запросить, нажав на кнопку Request (Запрос) ниже. Если ниже отсутствует необходимая вам версия, мы рекомендуем обратиться непосредственно к Innovative Solutions.
Размещение вновь загруженного файла drivermax.exe в правильном каталоге (в месте расположения исходного файла), скорее всего, решит проблему, однако, чтобы однозначно в этом убедиться, следует выполнить проверку. Убедитесь в том, что вам удалось устранить ошибку, открыв DriverMax и (или) выполнив операцию, при выполнении которой возникала проблема.
drivermax.exe Описание файла | |
---|---|
Формат файла: | EXE |
Группа: | Drivers,Drivers and Utilities,Upgrade |
App: | DriverMax |
ID: | 7.25.0.201 |
Компания: | Innovative Solutions |
Имя: | drivermax.exe |
Размер (в байтах): | 8220536 |
SHA-1: | C59DB067008B0377386E9DA47CA24E40AFF38E7E |
MD5: | 1d06ac194c7c3a523fb89b504b48c686 |
CRC32: |
Продукт Solvusoft
Загрузка
WinThruster 2023 — Сканировать ваш компьютер на наличие ошибок реестра в drivermax.exe
Windows
11/10/8/7/Vista/XP
Установить необязательные продукты — WinThruster (Solvusoft) | Лицензия | Политика защиты личных сведений | Условия | Удаление
EXE
drivermax.exe
Идентификатор статьи: 1138789
Drivermax.exe
1
2
Выберите программное обеспечение
Имя файла | ID | Размер | Загрузить | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
+ drivermax.exe | 1d06ac194c7c3a523fb89b504b48c686 | 7.84 MB | ||||||||||||||||
|
Распространенные сообщения об ошибках в Drivermax.exe
Усложнения DriverMax с drivermax.exe состоят из:
- «Ошибка в приложении: drivermax.exe»
- «Недопустимая программа Win32: drivermax.exe»
- «Извините, drivermax.exe столкнулся с проблемой. «
- «Не удается найти drivermax.exe»
- «Drivermax.exe не найден.»
- «Ошибка запуска программы: drivermax.exe.»
- «Файл Drivermax.exe не запущен.»
- «Drivermax.exe остановлен. «
- «Неверный путь к приложению: drivermax.exe.»
Обычно ошибки drivermax.exe с DriverMax возникают во время запуска или завершения работы, в то время как программы, связанные с drivermax.exe, выполняются, или редко во время последовательности обновления ОС. Важно отметить, когда возникают проблемы drivermax.exe, так как это помогает устранять проблемы DriverMax (и сообщать в Innovative Solutions).
Источник ошибок Drivermax.exe
Проблемы DriverMax и Drivermax.exe возникают из отсутствующих или поврежденных файлов, недействительных записей реестра Windows и вредоносных инфекций.
Точнее, ошибки drivermax.exe, созданные из:
- Поврежденная или недопустимая запись реестра drivermax.exe.
- Вирус или вредоносное ПО, повреждающее drivermax.exe.
- Вредоносное удаление (или ошибка) drivermax.exe другим приложением (не DriverMax).
- Другое программное обеспечение, конфликтующее с DriverMax, drivermax.exe или общими ссылками.
- Поврежденная загрузка или неполная установка программного обеспечения DriverMax.
Every experienced Windows administrator has faced some issues with the WMI service (Windows Management Instrumentation) and its components. The problems in WMI subsystem are critical for the normal operation of Windows, therefore the administrator needs to check and restore the functionality of WMI as soon as possible. In this article we’ll describe quite a simple technique of troubleshooting and fixing WMI problems on Windows 10 and Windows Server 2016/2019.
A problem with the WMI may indicate a wide range of errors:
- The errors on the WMI queries processing in the system and application logs (
0x80041002 - WBEM_E_NOT_FOUND
,WMI: Not Found
,0x80041010 WBEM_E_INVALID_CLASS
); - GPO processing errors related with WMI (incorrect work of the WMI-filters of Group Policies, etc.);
- WMI queries are very slow;
- Errors during installation or operation of SCCM/SCOM agents;
- Errors in scripts (VBS or PowerShell) that use the WMI namespace (scripts with Get-WmiObject, etc.)
Contents:
- Troubleshooting WMI Problems
- Repairing the WMI Repository and Recompiling MOF Files
- Rebuilding the WMI Repository
Troubleshooting WMI Problems
The first step is to check the Windows Management Instrumentation (Winmgmt
) service is installed on Windows and running. You can check the status of the service in the services.msc
console or using PowerShell:
Get-Service Winmgmt | Select DisplayName,Status,ServiceName
If the Winmgmt service is running, you can test the health of WMI by quering it with a simple WMI command. You can execute wmi request from command prompt or from PowerShell. For example, the following command will list the programs installed on Windows:
wmic product get name,version
The simplest PowerShell command to get information about the version and build of Windows 10 via WMI might look like this:
get-wmiobject Win32_OperatingSystem
As you can see, the WMI service responded to the request correctly. If Windows returns an error when executing such a WMI query, most likely the WMI service is not working correctly, the WMI repository is damaged, or there are other problems.
In my case, for example, when opening the WMI Control properties in the Computer Management snap-in (compmgmt.msc
), the following message appeared:
Failed to initialize all required WMI classes Win32_Processor. WMI: Invalid namespace Win32_WMISetting. WMI: Invalid namespace Win32_OperationSystem. WMI: Invalid namespace
Previously, the official Microsoft tool WMIDiag.vbs (Microsoft WMI Diagnosis) was used to diagnose WMI. WMIdiag is a vbs script that checks various WMI subsystems and writes the collected information to the log files (by default the logs are located in %TEMP% folder – C:USERS%USERNAME%APPDATALOCALTEMP
). The resulting report consists of files with names starting with WMIDIAG-V2.2 and includes the following file types:
- LOG files contain a detailed report report on the activity and operation of the WMIDiag tool;
- TXT files contain the summary reports of found errors that are worth paying attention;
- CSV files contain information necessary for a long-term analysis of the WMI performance.
Tip. In Windows x64 versions wmidiag should be run as follows:
c:windowsSystem32cscript.exe wmidiag.vbs
otherwise, there occurs an error:
WMIDiag must be run from native 64-bit environment. It is not supported in Wow64.
After WMIDiag has completed its task, the administrator should examine the log files, analyse and try to fix the found errors.
Unfortunately, the latest version of WMIDiag 2.2 works correctly only with versions up to Windows 8.1/Windows Server 2012 R2. At this point, Microsoft has even removed the link to download WMIDiag from the Download Center. But if you wish, this script can be found on the web.
WMIDiag provide detailed information on how to correct local errors in WMI, but in most cases it is a time-consuming task and is worth of the time spent only when looking for solutions to the problems in the critical systems (usually on the production servers). In case of the user workstations, it is much easier to reset and rebuild the WMI repository in Windows.
Repairing the WMI Repository and Recompiling MOF Files
On Windows 10/Windows Server 2016, you can check the integrity of the WMI repository using the command:
winmgmt /verifyrepository
If the command returns that the WMI database is in an inconsistent state (INCONSISTENT
or WMI repository verification failed
), you should try doing a soft fix of WMI repository errors:
Winmgmt /salvagerepository
WMI repository has been salvaged.
This command checks the consistency of the WMI repository and rebuilds the WMI database if inconsistencies are found.
Restart the WMI service:
net stop Winmgmt
net start Winmgmt
If the standard WMI fix doesn’t work, try the following script. This script is a “soft” option for recovering the WMI service on the computer (the DLL libraries and WMI are re-registered and MOF files are recompiled). This procedure is safe and its implementation should not cause any more problems with the operating system:
sc config winmgmt start= disabled
net stop winmgmt
cd %windir%system32wbem
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
On a 64-bit version of Windows, these steps must also be performed for the SysWOW64 directory. Replace the third line with:
cd %windir%SysWOW64wbem
These commands can be run by simply pasting them into the command prompt, or you can save the script as a BAT file (wmi_soft_repair.bat) and run it with the administrator permissions. After the script finishes, restart Windows and check if WMI is working.
Rebuilding the WMI Repository
If the method described above has not helped, use more “hard” way of the WMI recovery that implies the recreation of the WMI repository.
The WMI repository is located in %windir%System32WbemRepository
and is a database that contains information on the metadata and definitions of the WMI classes. In some cases the WMI repository can also contain static class information. When the repository is damaged, errors occur in the activity of WMI service (Winmgmt).
If you suspect that the WMI repository is damaged, keep in mind that it only should be recreated if no other means to restore WMI are effective.
The following command will reset the WMI database to its original state (as after a clean Windows install). Use this command to hard reset the WMI repository if the salvagerepository parameter didn’t fix the problem:
Winmgmt /resetrepository
Tip. In practice, there are cases, when the rebuilding of WMI repository causes problems with the third-party software. The reason is that all records in the WMI database are cleared (to the state of a clean system). Such software may have to reinstall in recovery mode.
If both commands (Winmgmt /salvagerepository
and Winmgmt /resetrepository
) didn’t restore the consistent state of the WMI database, try to perform a hard reset of the WMI database with the following script:
sc config winmgmt start= disabled
sc config winmgmt start= disabled
net stop winmgmt
cd %windir%system32wbem
winmgmt /resetrepository
winmgmt /resyncperf
if exist Repos_bakup rd Repos_bakup /s /q
rename Repository Repos_bakup
regsvr32 /s %systemroot%system32scecli.dll
regsvr32 /s %systemroot%system32userenv.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
On 64-bit version of Windows, you also need to re-register the DLL/EXE and recompile the MOF files in the %windir%sysWOW64wbem directory.
This script completely removes and recreates the WMI repository folder (the old repository is saved to the Repos_backup directory). After the script has completed, you need to restart Windows. Then check the WMI service with a simple query.
Check the WMI repository state. If the errors are fixed, the winmgmt /verifyrepository
command should return:
WMI repository is consistent
In this article, we have showed basic ways to diagnose and troubleshoot the WMI service and repository.