Broken wmi system monitor windows 7

Любой бывалый Windows-админ периодически сталкивается с проблемами в работе службы WMI (Windows Management Instrumentation) и ее компонентах. Наличие проблем в

Любой бывалый 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

служба Windows Management Instrumentation (Winmgmt) работает

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

wmic product get name,version

Простейшая PowerShell команда для получения информации о версии и билда Windows 10 через WMI может выглядеть так:

get-wmiobject Win32_OperatingSystem

powershell проверка работы wmi командой get-wmiobject

Как вы видите, служба WMI ответила на запрос корректно. Если при выполнении такого WMI-запроса Windows возвращает ошибку, скорее всего сервиса WMI работает некорректно, поврежден WMI репозиторий или есть какие-то другие проблемы.

ошибка Failed to initialize all required WMI classes

В моем случае, например, при открытии свойств 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.

скрипт для исправления ошибок WMI WMIDiag.vbs

Совет. В 64 битных версиях Windows wmidiag нужно запускать так:

c:windowsSystem32cscript.exe wmidiag.vbs

в противном случае появится ошибка:

WMIDiag must be run from native 64-bit environment. It is not supported in Wow64.

WMIDiag 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

winmgmt-verifyrepository - проверка состояния репозитория wmi

Если команда возвращает, что база данных 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

Указанные команды можно выполнить путем простой вставки в окно командой строки, либо сохранить код в 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

сброс и восстановление хранилища wmi в windows 10

На 64 битной версии Windows нужно также перерегистрировать dll/exe и перекомпилировать mof файлы в каталоге %windir%sysWOW64wbem.

Данный скрипт полностью пересоздает хранилище WMI (старый репозиторий сохраняется в каталог Repos_bakup). После окончания работы скрипта нужно перезагрузить Windows. Затем протестируйте работу службы WMI простым запросом.

Проверьте состояние WMI репозитория. Если ошибки исправлены, команда
winmgmt /verifyrepository
должна вернуть:

WMI repository is consistent

WMI repository is consistent

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

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_MACHINESYSTEMCurrentControlSetServices 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_MACHINESYSTEMCurrentControlSetServicesPerfProcPerformance 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

I had a problem with my Microsoft SQL Server 2008, importing data and generating scripts, so I decided to uninstall it. When I tried to remove it, I got an error from the check screen. The WMI service is corrupted, so I need a way to reset the WMI service.

Platform: Windows 7 64bit

I did try winmgmt /resetrepository

to no effect.

Short of reinstalling Windows, what can I do?

slhck's user avatar

slhck

219k68 gold badges591 silver badges578 bronze badges

asked Sep 21, 2010 at 3:36

Decker97's user avatar

0

If its a file level corruption you could probably try the sfc /scannow command — this will check and replace any system files that are damaged.

answered Apr 23, 2011 at 23:28

Journeyman Geek's user avatar

Journeyman GeekJourneyman Geek

125k51 gold badges252 silver badges418 bronze badges

To fully rebuild the WMI Repository follow these steps:

  1. Disable and stop the winmgmt service.
  2. Remove or rename C:WindowsSystem32wbemrepository.
  3. Enable and start the winmgmt service.
  4. Open a cmd prompt as Administrator.
  5. In the cmd prompt navigate to C:WindowsSystem32wbem
  6. Run the command for /f %s in ('dir /b *.mof') do mofcomp %s This will take a minute or so to complete.
  7. Run the command for /f %s in ('dir /b en-us*.mfl') do mofcomp en-us%s

karel's user avatar

karel

13.2k25 gold badges44 silver badges52 bronze badges

answered Nov 4, 2015 at 13:22

Randolph Miller's user avatar

1

I had the same problem and using Repair WMI from Tweaking.com fixed it.

answered Jan 2, 2012 at 11:48

Sharken's user avatar

SharkenSharken

1,64111 silver badges6 bronze badges

1

Another handy option to fix WMI using a WMI Fixer Tool (WMI Fixer.ps1) created by Guido Basilio de Oliviera and is freely available.

This tool is based on Windows Powershell and Windows Forms:

cd /d % windir% System32Wbem
net stop winmgmt

winmgmt /clearadap
winmgmt /kill
winmgmt /unregserver
winmgmt /regserver
winmgmt /resyncperf

del % windir% System32WbemRepository /Q
del % windir% System32WbemAutoRecover /Q

for % % i in (* .dll) do Regsvr32 -s % % i
for % % i in (* .mof, * .mfl) do Mofcomp % % i
wmiadap.exe /Regsvr32
wmiapsrv.exe /Regsvr32
wmiprvse.exe /Regsvr32

net start winmgmt

Or alternatively..

  • Disable and stop the WMI service.
        
     
  • Run the following commands.
        

    Winmgmt /salvagerepository %windir%System32wbem

          (then)
         

    Winmgmt /resetrepository %windir%System32wbem

  • Re-enable the WMI service and then reboot the PC to see how it goes.

        
    You could also try rebuilding the repository if the above fails:

  • Disable and stop the WMI service.

  • Rename the repository folder (located at %windir%System32wbemrepository) to repository.old.

  • Re-enable the WMI service.

  • Reboot the PC

Acknowledgements

  1. WMI corrupt — how to reinstall/repair?

answered Oct 31, 2017 at 18:26

xavier_fakerat's user avatar

xavier_fakeratxavier_fakerat

2,4742 gold badges11 silver badges23 bronze badges

I run into corrupt WMI fairly often working with client systems. I was very frustrated by the acknowledgement from MS that WMI has issues and not getting releif with any suggested fix.

Last year I found this procedure and it works EVERY TIME!

Open a Microsoft PowerShell window.
Type the following commands and press enter after each command

net stop winmgmt
ren c:windowssystem32wbemrepository  c:windowssystem32wbemrepository_old
net start winmgmt 
cd c:windowssystem32wbem
lodctr /r 

Check and make sure all services are running.  A reboot is not required at this point, but it is the fastest way to assure that all services restart.

I say Reinstate Monica's user avatar

answered Apr 30, 2019 at 15:51

user1029819's user avatar

Восстановление поврежденного WMI (информация не считывается удалённо)

Иногда случается так, что после установки одного из обновлений Windows WMI перестает работать на сервере или рабочей станции. Если данные не собираются на каком-то компьютере даже локально (при наличии прав администратора), скорее всего WMI поврежден.

Можно попробовать восстановить WMI по следующей инструкции.

1. Исправление ошибок регистрации библиотек WMI:

1. Перейдите в системный каталог Windows. Перейдите в подкаталог wbem.
В этом каталоге находятся файлы WMI.
cd %system32%
cd wbem

2. Перерегистрируйте библиотеки
for %i in (*.dll) do RegSvr32 -s %i

3. Перерегистрируйте исполняемые файлы
regsvr32 -s scrcons.exe
regsvr32 -s unsecapp.exe
regsvr32 -s wbemtest.exe
regsvr32 -s winmgmt.exe
regsvr32 -s wmiadap.exe
regsvr32 -s wmiapsrv.exe
regsvr32 -s wmiprvse.exe

2. Исправление ошибок репозитория:

1. Остановите сервис WMI
net stop winmgmt
2. В папке
C:WindowsSystem32Wbem
переименуйте Repository в Repository_bad
3.Запустите сервис WMI
net start winmgmt
4. Запустите команду
rundll32 wbemupgd, UpgradeRepository

Скрипт, позволяющий выполнить все описанное вверху (создайте .bat-файл, скопируйте туда следующие команды, и запустите его):
cd %system32%
cd wbem
for %i in (*.dll) do RegSvr32 -s %i
regsvr32 -s scrcons.exe
regsvr32 -s unsecapp.exe
regsvr32 -s wbemtest.exe
regsvr32 -s winmgmt.exe
regsvr32 -s wmiadap.exe
regsvr32 -s wmiapsrv.exe
regsvr32 -s wmiprvse.exe

net stop winmgmt
cd %system32%
cd wbem
ren Repository Repository_bad
net start winmgmt
rundll32 wbemupgd, UpgradeRepository

Программа «10-Страйк: Инвентаризация Компьютеров» — удаленный опрос и инвентаризация ПК предприятия по сети. Создание отчетов по «железу» и ПО, мониторинг изменений, обнаружение проблем, оповещение администратора. Легко установить и настроить. Возьмите свой парк компьютеров под контроль!

Скачайте бесплатную 30-дневную версию прямо сейчас и попробуйте.

Источник

WMI Проблемы и решения

Не раз я сталкивался, что перестают у пользователя запускаться службы (хотя он является локальным админом), ну или например перестает работать SMS агент (Перестает обмениваться с SCCM).

Я очень долго пытался с этим разобраться и наконец разобрался .

Проблема кроется в злостном WMI. Давайте для начала попробуем разобраться что же это такое и с чем его есть? Всеми любимая, а также очень умная девочка Вика Wikipedia сообщает:

WMI (Windows Management Instrumentation в дословном переводе) — это инструментарий управления Windows. Если говорить более развернуто, то WMI — это одна из базовых технологий для централизованного управления и слежения за работой различных частей компьютерной инфраструктуры под управлением платформы Windows.

Опа. За нами следит большой брат .

Самое простое что можно сделать это пересобрать WMI как правило это решает большую часть проблем.

Для Выполнения этих задач нам потребуется запустить командную строку от администратора (Пуск выполнить CMD) или пользователя который будет состоять в группе Локальных администраторов и выполнить следующее:

cd /d %windir%system32wbem

REM Перерегистрируем компоненты

for %i in (*.dll) do RegSvr32 -s %i

for %i in (*.exe) do %i /RegServer

По идее этого должно быть достаточно но лишнем не будет выполнить и следующее:

Ну и напоследок перекомпиляция mof файлов

for /r %i in (*.mof *.mfl) do mofcomp %i

При устранении неисправностей следуйте простому правилу: сначала пробуйте решить проблему менее «жестким» способом (перерегистрацией библиотек и перекомпиляцией mof-файлов) и только если ничего не помогает – перестройкой (удалением и созданием заново) репозитория.

Это связано с тем, что существуют приложения, которые только обновляют репозиторий при установке, но не используют .mof-файлы. Соответственно, при удалении и создании заново репозитория данные приложения не обновят информацию автоматически и не все их данные, связанные с WMI, будут потеряны вплоть до того момента, пока вы не переустановите эти приложения.

Так же следует помнить, что не все приложения хранят свои библиотеки и .mof-файлы в %systemroot%system32wbem. Соответственно вам нужно будет их найти перед тем как зарегистрировать библиотеки заново или перекомпилировать mof.

Собрались на рыбалку? вот Вам отличная донная снасть спешите!

Источник

Нет доступа к средствам WMI

BB-код ссылки (для форумов):

Хотел узнать Hardware ID.Пробил команду msinfo32,а мне говорят Нет доступа к средствам WMI.Файлы управления Windows были перемещены или удалены. Помогите пожалуйста.

BB-код ссылки (для форумов):

1. Проверьте наличие в папке ..WindowssysWOW64wbem файла WmiApSrv.exe
2. Проверьте работает ли служба Инструментарий управления Windows: Пуск —> Панель управления —> Администрирование —> Службы, так же тип запуска должен быть Автоматически.

Если все на месте и работает:

BB-код ссылки (для форумов):

А потом я проделал ниже следующее

Вот результат

В результате не получилось

BB-код ссылки (для форумов):

BB-код ссылки (для форумов):

200?’200px’:»+(this.scrollHeight+5)+’px’);»> C:UsersTanya>net stop winmgmt
Следующие службы являются зависимыми от службы «Инструментарий управления Window
s».
Останов службы «Инструментарий управления Windows» приведет также к останову эти
х служб.

Центр обеспечения безопасности
Вспомогательная служба IP

Продолжить операцию? (Y-да/N-нет) [N]: y
Служба «Центр обеспечения безопасности» останавливается.
Служба «Центр обеспечения безопасности» успешно остановлена.

Служба «Вспомогательная служба IP» останавливается.
Служба «Вспомогательная служба IP» успешно остановлена.

Служба «Инструментарий управления Windows» останавливается.
Служба «Инструментарий управления Windows» успешно остановлена.

C:UsersTanya>cd /d %windir%sysWOW64wbem

C:WindowsSysWOW64wbem>for %i in (*.dll) do RegSvr32 -s %i

C:WindowsSysWOW64wbem>RegSvr32 -s esscli.dll

C:WindowsSysWOW64wbem>RegSvr32 -s fastprox.dll

C:WindowsSysWOW64wbem>RegSvr32 -s mofd.dll

C:WindowsSysWOW64wbem>RegSvr32 -s RacWmiProv.dll

C:WindowsSysWOW64wbem>RegSvr32 -s stdprov.dll

C:WindowsSysWOW64wbem>RegSvr32 -s vdswmi.dll

C:WindowsSysWOW64wbem>RegSvr32 -s viewprov.dll

C:WindowsSysWOW64wbem>RegSvr32 -s vsswmi.dll

C:WindowsSysWOW64wbem>RegSvr32 -s wbemcntl.dll

C:WindowsSysWOW64wbem>RegSvr32 -s wbemdisp.dll

C:WindowsSysWOW64wbem>RegSvr32 -s wbemprox.dll

C:WindowsSysWOW64wbem>RegSvr32 -s wbemsvc.dll

C:WindowsSysWOW64wbem>RegSvr32 -s Win32_Tpm.dll

C:WindowsSysWOW64wbem>RegSvr32 -s WmiApRpl.dll

C:WindowsSysWOW64wbem>RegSvr32 -s WMICOOKR.dll

C:WindowsSysWOW64wbem>RegSvr32 -s WmiDcPrv.dll

C:WindowsSysWOW64wbem>RegSvr32 -s WmiPerfClass.dll

C:WindowsSysWOW64wbem>RegSvr32 -s WmiPerfInst.dll

C:WindowsSysWOW64wbem>RegSvr32 -s wmiutils.dll

C:WindowsSysWOW64wbem>for %i in (*.exe) do %i /RegServer

C:WindowsSysWOW64wbem>mofcomp.exe /RegServer
Microsoft (r) MOF Compiler Version 6.1.7600.16385
Copyright (c) Microsoft Corp. 1997-2006. All rights reserved.
File ‘/RegServer’ not found!

C:WindowsSysWOW64wbem>WinMgmt.exe /RegServer
Недопустимый параметр

Инструментарий управления Windows (WMI)

Использование: winmgmt [/backup ] [/restore ]
[/resyncperf] [/standalonehost [ ]] [/sharedhost]
[/verifyrepository [ ]] [/salvagerepository]
[/resetrepository]

/backup
WMI получает команду сохранить архивную копию базы данных с указанным
именем файла. Аргумент «имя_файла» должен содержать полный путь к
местоположению файла. Для этого процесса необходима блокировка записи
в базу данных, что позволяет приостанавливать операции записи в базу
данных до окончания архивации.

/restore
Восстанавливает базу данных WMI из указанного архивного файла.
Аргумент «имя_файла» должен содержать полный путь к местоположению
архивного файла. Для восстановления WMI сохраняет существующую базу
данных для обратной записи на случай сбоя операции. Затем база данных
восстанавливается из архивного файла, указанного в аргументе
«имя_файла». Если не удается получить монопольный доступ к базе данных,
существующие клиенты отключаются от WMI. Аргумент «флаг» должен иметь
значение 1 (принудительно — отключение пользователей и восстановление) и
ли
0 (по умолчанию — восстановление, если пользователи не подключены),
при этом он указывает режим восстановления.

/resyncperf
Регистрирует системные библиотеки производительности в WMI.

/standalonehost [ ]
Перемещает службу Winmgmt в автономный процесс Svchost, который имеет
фиксированную конечную точку DCOM. По умолчанию установлена конечная точ
ка
ncacn_ip_tcp.0.24158.
Однако конечную точку можно изменить, запустив Dcomcnfg.exe. Аргумент
«уровень» является уровнем проверки подлинности для процесса Svchost.
Если уровень не указан, по умолчанию устанавливается значение
4 (RPC_C_AUTHN_LEVEL_PKT).

/sharedhost
Перемещает службу Winmgmt в общий процесс Svchost.

/verifyrepository [ ]
Выполняет проверку согласованности базы данных WMI. При добавлении модул
я
/verifyrepository без аргумента проверяется обновляемая база
данных, используемая WMI в настоящее время. Если указать аргумент
«путь», можно будет проверить любую сохраненную копию базы данных.
В таком случае аргумент «путь» должен содержать полный путь к сохраненно
й
Копии базы данных. Сохраненная база данных должна представлять собой пап
ку
с целой базой данных.

/salvagerepository
Выполняет проверку согласованности базы данных WMI и при обнаружении
несогласованности перестраивает базу данных. Если содержимое
несогласованной базы данных можно прочитать, оно добавляется в
перестроенную базу данных. Операция восстановления всегда работает с баз
ой
данных, которая используется в настоящее время службой WMI. Файлы MOF,
содержащие инструкцию препроцессора автоматического восстановления
#pragma, восстанавливаются в базу данных.

/resetrepository
База данных восстанавливается в исходное состояние на момент установки
операционной системы. Файлы MOF, содержащие инструкцию препроцессора
автоматического восстановления #pragma, восстанавливаются в базу данных.

C:WindowsSysWOW64wbem>WMIC.exe /RegServer
Invalid Global Switch.

C:WindowsSysWOW64wbem>net start winmgmt
Служба «Инструментарий управления Windows» запускается.
Служба «Инструментарий управления Windows» успешно запущена.

C:WindowsSysWOW64wbem>winmgmt /salvagerepository
Не удалось восстановить базу данных WMI
Код ошибки: 0x8007007E

Источник

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

О наличии проблем с WMI может свидетельствовать широкий спектр ошибок:

  • Ошибки обработки WMI запросов в системных журналах и логах приложений
  • Ошибки GPO, завязанные на WMI ( некорректная работа wmi фильтров политик, и пр.)
  • Ошибки в работе / невозможность установки агентов SCCM/SCOM
  • Ошибки в работе скриптов (vbs или powershell), использующих пространство имен WMI

В первую очередь нужно проверить имеется ли в системе служба Windows Management Instrumentation (Winmgmt) и включена ли она.

Если служба  присутствует и находится в состоянии Started, рекомендуется протестировать работоспособность WMI, обратившись к ней с помощью простого wmi-запроса. С помощью Powershell, например, это можно сделать так:

get-wmiobject Win32_OperatingSystem

Если при выполнении простейшего WMI-запроса система возвращает ошибку (на скриншоте приведен пример корректного ответа службы WMI), вероятно имеет место некорректное функционирование сервиса WMI или ряда его подсистем, повреждение репозитория WMI или другие проблемы.

Утилита WMIDiag

Для «тонкой» диагностики службы WMI существует официальная утилита Microsoft — WMIDiag (Microsoft WMI Diagnosis). Утилита представляет собой vbs скрипт, который проверяет различные подсистемы WMI и записывает собранную информацию в лог файлы (по умолчанию логи находятся в каталоге %TEMP% — C:USERS%USERNAME%APPDATALOCALTEMP). Получившийся отчет состоит из файлов, имена которых начинаются с WMIDIAG-V2.1 и включает в себя следующие типы фалов :

  • .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 может дать информацию по исправлению частных ошибок в WMI , но в большинстве случаев процесс это довольно трудоемкий и стоит потраченного времени только при решении инцидентов в критичных системах (как правило, на продуктивных серверах). Для массового сегмента рабочих станций пользователей гораздо проще «бить по площадям» и решать проблему работы WMI более радикально.

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

Следующий скрипт представляет собой «мягкий» вариант восстановления работоспособности службы 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

winmgmt /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.

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

WMI репозиторий (хранилище) находится в каталоге %windir%System32WbemRepository и представляет собой базу данных, в которой содержится информация о метаданных и определениях WMI классов. В некоторых случаях репозитория WMI может содержать статическую информацию классов. При повреждении репозитория WMI,  в работе службы Windows Management Instrumentation (Winmgmt) могут наблюдаться ошибки вплоть до полной невозможности ее запустить.

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

Совет. На практике бывают случаи, когда пересоздание хранилища WMI приводит к проблемам со сторонним софтом. Вызван этот эффект тем, что все записи в базе WMI обнуляются (до состояния чистой системы). Такое ПО, вероятно, придется переустанавливать в режиме восстановления.

В Windows Vista и выше проверить целостность репозитория WMI  можно с помощью команды:

winmgmt /verifyrepository

Если команда возвращает, что база данных WMI находится в неконсистентном состоянии (INCONSISTENT), стоит попробовать выполнить «мягкое» восстановление репозитория:

Winmgmt /salvagerepository

И перезапустить службу wmi:

net stop Winmgmt
net start Winmgmt

Если описанная выше команда не помогла, выполняем сброс репозитория на начальное состояние (hard reset) так:

Winmgmt /resetrepository

В том случае, если команды Winmgmt /salvagerepository и Winmgmt /resetrepository желаемого эффекта не дали, стоит попробовать выполнить «жесткое» пересоздание базы WMI вручную таким сценарием:

sc config winmgmt start= disabled

net stop winmgmt

cd %windir%system32wbem

winmgmt /kill

winmgmt /unregserver

winmgmt /regserver

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). После окончания работы скрипта компьютер нужно перезагрузить, после чего протестировать работу службы WMI простым запросом.

Repair WMI
для Windows

Repair WMI скриншот № 1

Repair WMI скриншот № 2

Repair WMI — небольшая системная утилита для исправления параметров WMI в установленной системе. WMI (Windows Management Instrumentation) — это инструментарий управления Windows, являющийся базовой технологией централизованного управления и слежения за работой различных частей компьютерной системы.

WMI используется многими службами Windows и программными приложениями, и поэтому когда он поврежден работа многих сервисов становится невозможной (например, Windows Firewall). Особых настроек в Repair WMI нет, нужно просто запустить утилиту и она автоматически исправит найденные проблемы и конфликты.

Следует отметить, что этот инструмент входит в набор утилит для ремонта системы Windows Repair.

  • Windows Repair для Windows

ТОП-сегодня раздела «Настройка, оптимизация»

скачать CCleanerCCleaner 6.08.10255

CCleaner — популярное приложение для оптимизации ПК, чистки реестра и удаления различного…

скачать MSI AfterburnerMSI Afterburner 4.6.4

MSI Afterburner — настоящая находка для истинного оверклокера, с помощью которой можно…

скачать Mem ReductMem Reduct 3.4

Mem Reduct — небольшая портативная утилита, которая позволяет высвободить до 25% используемой…

скачать CCleaner PortableCCleaner Portable 6.08.10255

CCleaner Portable — портативная (переносная, не требующая инсталляции на компьютер) версия утилиты CCleaner для чистки системного мусора…

скачать Win 10 TweakerWin 10 Tweaker 19.3

Простой в использовании твикер для Windows, с помощью которого можно быстро и легко…

скачать Reg OrganizerReg Organizer 9.10

Reg Organizer — мощная программа, позволяющая следить за состоянием системного реестра и…

Отзывы о программе Repair WMI

Admin

Отзывов о программе Repair WMI 2.8.8 пока нет, можете добавить…

Понравилась статья? Поделить с друзьями:
  • Broadcom xd picture bus driver windows 10 x64 скачать
  • Broadcom wireless network adapter driver windows 7
  • Broadcom wireless lan для hp pavilion g6 windows 10
  • Broadcom wireless lan extensions for microsoft windows 7
  • Broadcom wireless lan driver windows 7 x64