Wmi код события 10 windows 7

Ошибка WMI код 10 как исправить

Wmi код события 10 windows 7

Любой бывалый 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%\APPDATA\LOCAL\TEMP\).

Получившийся отчет состоит из файлов, имена которых начинаются с WMIDIAG-V2.1 и включает в себя следующие типы фалов :

  • .log файлы содержат подробный отчет об активности и работе утилиты WMIDiag
  • .txt файлы содержат итоговые отчеты о найденных ошибках, на которые стоит обратить внимание
  • В .csv файлах содержится информация, нужная для долгосрочного анализа работы подсистемы WMI

После окончания работы утилиты WMIDiag администратор должен изучить полученные файлы логов, проанализировать и попытаться исправить найденные ошибки.

В общем случае, WMIDiag может дать информацию по исправлению частных ошибок в WMI , но в большинстве случаев процесс это довольно трудоемкий и стоит потраченного времени только при решении инцидентов в критичных системах (как правило, на продуктивных серверах). Для массового сегмента рабочих станций пользователей гораздо проще «бить по площадям» и решать проблему работы WMI более радикально.

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

Следующий скрипт представляет собой «мягкий» вариант восстановления работоспособности службы WMI на отдельно взятом компьютере (выполняется перерегистрация dll библиотек и службы WMI, перекомпилируются mof файлы). Данная процедура является безопасной и ее выполнение не должно привести к каким-либо новым проблемам с системой.

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 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, заключающегося в пересоздании хранилища.

WMI репозиторий (хранилище) находится в каталоге %windir%\System32\Wbem\Repository и представляет собой базу данных, в которой содержится информация о метаданных и определениях WMI классов.

В некоторых случаях репозитория WMI может содержать статическую информацию классов.

При повреждении репозитория WMI,  в работе службы Windows Management Instrumentation (Winmgmt) могут наблюдаться ошибки вплоть до полной невозможности ее запустить.

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

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

winmgmt /verifyrepository

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

Winmgmt /salvagerepository

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

net stop Winmgmtnet start Winmgmt

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

Winmgmt /resetrepository

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

sc config winmgmt start= disabled net stop winmgmt cd %windir%\system32\wbem winmgmt /kill winmgmt /unregserver winmgmt /regserver 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') do mofcomp %%s for /f %%s in ('dir /b *.

mfl') do mofcomp %%s sc config winmgmt start= auto net start winmgmt wmiprvse /regserver

Источник: https://ichudoru.com/oshibka-wmi-kod-10-kak-ispravit/

События Windows Management Instrumentation (WMI)

Wmi код события 10 windows 7

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

Например:

  • Запуск заданного процесса или службы (или все вместе)
  • Появление в журнале событий Windows заданного сообщения
  • Изменения в файловой системе – объем диска, появление нового файла и так далее
  • Изменения заданного ключа реестра

При работе с WMI событиями происходит взаимодействие между провайдерами (event providers), роль которых формировать извещение и зарегистрированными подписчиками на эти изве­щения – потребителями (event consumers).

Все события WMI можно разделить на три категории: внутренние, внешние и события таймера. Каждой категории в репозитории CIM соответствует определен­ный класс-потомок абстрактного класса __Event.

Так, внешние обрабатываются с помощью класса __ExtrinsicEvent, внутренним соответствуют три разных класса – __NamespaceOperationEvent, __ClassOperationEvent и __InstanceOperationEvent, событиям таймера  – класс __TimerEvent.

Также, WMI события можно разделить на временные и постоянные.

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

Внутренние события WMI

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

Как уже было сказано, внутренним соответствуют три разных класса:

__ InstanceOperationEvent – является базовым для всех внутренних событий WMI, которые относятся к экземпляру. Например:

  • Был создан новый экземпляр заданного класса(подкласс __InstanceCreationEvent)
  • Модификация существующего экземпляра класса(подкласс __InstanceModificationEvent);
  • Удаление экземпляра класса(подкласс __InstanceDeletionEvent).

__NamespaceOperationEvent – является базовым для всех внутренних событий WMI, которые относятся к пространству имен.

  • Создание нового пространства имен (подкласс __NamespaceCreationEvent)
  • Модификация существующего пространства имен(подкласс __NamespaceModificationEvent);
  • Удаление пространства имен(подкласс __NamespaceDeletionEvent).

__ClassOperationEvent – является базовым для всех внутренних событий WMI, которые относятся к классу.

  • Создание нового класса(подкласс __ClassCreationEvent)
  • Модификация существующего класса(подкласс __ClassModificationEvent);
  • Удаление класса(подкласс __ClassDeletionEvent).

Что бы произвести подписку на извещения, нужно выполнить WQL запрос. Что бы выполнить WQL запрос для получения извещения, используется метод ExecNotificationQuery объекта SWbemServices. Давайте рассмотрим три примера, каждый будет обрабатывать экземпляр блокнота (notepad.exe) – класс __ InstanceOperationEvent:

'*********************************************' Имя: notepad_creation.vbs' Ожидание на запуск процесса notepad.exe'*********************************************Option ExplicitDim objService, objEventSource, objEvent, strResultSet objService = GetObject(“WinMgmts:\\.\Root\CIMV2”)Set objEventSource = objService.ExecNotificationQuery (“SELECT * FROM __InstanceCreationEvent ” & _             “WITHIN 2 WHERE TargetInstance ISA 'Win32_Process' AND TargetInstance.Name='notepad.exe'”)          'Ждем наступления события WMI и записываем в переменную objEventSet objEvent = objEventSource.NextEventWScript.Echo “Запущен блокнот”

Тут все просто, как только произойдет запуск в системе процесса notepad.exe, нам будет выдано сообщение об этом.

'*********************************************' Имя: notepad_deletion.vbs' Ожидание на закрытие процесса notepad.exe'*********************************************Option ExplicitDim objService, objEventSource, objEvent, strResultSet objService = GetObject(“WinMgmts:\\.\Root\CIMV2”)Set objEventSource = objService.ExecNotificationQuery (“SELECT * FROM __InstanceDeletionEvent ” & _             “WITHIN 2 WHERE TargetInstance ISA 'Win32_Process' AND TargetInstance.Name='notepad.exe'”)          'Ждем наступления события WMI и записываем в переменную objEventSet objEvent = objEventSource.NextEventWScript.Echo “Был закрыт блокнот”

В данном примере, как только будет закрыт процесс notepad.exe, мы получим извещание.

'*********************************************' Имя: notepad_modification.vbs' Ожидание на изменения в процессе notepad.exe' Для проверки, просто запустите блокнот и введите в него какой то тект'*********************************************Option ExplicitDim objService, objEventSource, objEvent, strResultSet objService = GetObject(“WinMgmts:\\.\Root\CIMV2”)Set objEventSource = objService.ExecNotificationQuery (“SELECT * FROM __InstanceModificationEvent ” & _             “WITHIN 2 WHERE TargetInstance ISA 'Win32_Process' AND TargetInstance.Name='notepad.exe'”)          'Ждем наступления события WMI и записываем в переменную objEventSet objEvent = objEventSource.NextEventWScript.Echo “Были изменеиря в блокноте”

Ну и тут, происходит слежение за изменениями в экземпляре (блокнот). Если вы запустите сценарий, а потом Блокнот, то как только, вы переместите программу, или измените ее размер, или просто введете текст, будет выдано сообщение.

Внешние события WMI

Если нужно проконтролировать изменения объекта, для которого в CIM не предусмотрено отдельного класса, то применяются внешние события. Примером является изменение значения определенного ключа в реестре.

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

Как уже упоминалось выше, для обработки внешних событий WMI используется класс __ExtrinsicEvent, сам провайдер должен иметь в своем составе класс, который является потомком  __ExtrinsicEvent, который будет описывать событие.

В случае реестра, в пространстве имен Root\default у класса __ExtrinsicEvent есть дочерний класс RegistryEvent, который содержит дочерний объект RegistryKeyChangeEvent, который и оповещает потребителей событий об из­менениях, которые происходят с ключом реестра.

Тут для выполнение WQL-запроса используется метод Exec­NotificationQueryAsync класса swbemservices.

Так, для того чтобы проследить за изме­нениями ключа Software\\Microsoft\\Windows Script Host\\TrustPolicy, с помо­щью которого задается политика безопасности при работе с Windows Script Host, используется такой WQL-запрос:

“SELECT * FROM RegistryKeyChangeEvent WHERE Hive='HKEY_LOCAL_MACHINE' AND KeyPath='Software\\Microsoft\\Windows Script Host\\TrustPolicy'

События таймера

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

Временные потребители

Временные события WMI позволяют получить извещение только один раз, примеры выше с работой процесса notepad.exe. Как только событие происходит, скрипт завершает свою работу. Хотя тут есть один нюанс:

'*********************************************' Имя: process_creation.vbs' Ожидание на запуск процесса'*********************************************Option ExplicitDim objService, objEventSource, objEvent, strResultSet objService = GetObject(“WinMgmts:\\.\Root\CIMV2”)Set objEventSource = objService.ExecNotificationQuery (“SELECT * FROM __InstanceCreationEvent ” & _             “WITHIN 2 WHERE TargetInstance ISA 'Win32_Process'”)    'Вечный цикл                           do while TRUE     Set objEvent = objEventSource.NextEvent     WScript.Echo “Запущен ” & objEvent.TargetInstance.NameLoop

В данном случае используется цикл do while…Loop, условие выхода задано так, что в теле цикла будет постоянно происходить подписка на событие WMI. И, если, через диспетчер задач принудительно не завершить процесс wscript.exe, то каждый раз при запуске нового процесса будет выводиться сообщение.

Не забываем, что для внутреннего используется метод ExecNotificationQuery, а для внешних – ExecNotificationQueryAsync. Метод NextEvent объекта swbemEventsource пере­водится в режим ожидания наступления события, в нашем случае бесконечно.

При регистрации внешних событий WMI дополнительно используется объект swbemsink.

Скачать архив с примерами

Постоянные потребители

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

Источник: http://scriptcoding.ru/2013/04/24/sobytiya-wmi/

Wmi ошибка код 10 windows 7

Wmi код события 10 windows 7

Ошибка WMI код 10 встречается в операционной системе Windows 7 на всех компьютерах после установки операционной системы и сервис пака с привода DVD или с загрузочной флэшки на которой был установочный образ системы.

Что бы посмотреть наличие ошибки WMI с кодом 10 щелкните правой клавишей мышки (далее ПКМ) на «Мой компьютер» в выпадающем меню нажмите левой кнопкой мыши (далее ЛКМ) на «Управление».

вход в управление компьютером

В открывшемся окне «Управление компьютером (локальным)» нажмите на «Просмотр событий» затем «Журналы Windows» и «Приложения», нашли эту ошибку, тогда читаем дальше как устранить ошибку .

Ошибка WMI код 10 устранение

2. Перезагружаем компьютер в безопасный режим. Для этого на начальном экране загрузки загрузки компьютера (как только у вас на мониторе появились белые буквы на черном фоне или цветная эмблема материнской платы) жмите клавишу F8, нажимать можно несколько раз ничего не испортите.

Начальный экран загрузки компьютера

3. Должны увидеть варианты загрузки, выбираете «Безопасный режим» и нажимаете «Enter» на клавиатуре.

Выбор загрузки безопасного режима

4. После загрузки в безопасном режиме щелкните ПКМ на «Мой компьютер» в выпадающем меню нажмите ЛКМ на «Управление».

вход в управление компьютером

В открывшемся окне «Управление компьютером (локальным)» нажмите на «Службы и приложения» а после на «Службы».

5. Находим службу Инструментарий управления Windows (Windows Management Instrumentation), останавливаем её кнопкой «Остановить» после этого окно «Управление компьютером» можно закрыть.

остановка службы winmgmt

6.Открываем папку, вот её местонахождение c:\windows\system32\wbem\repository. В этой папке видим файлы:

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

Эта проблема проявляется на 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)

Ошибка WMI (код события: 10)

Отключаем контроль учетных записей. Перезагружаемся в безопасный режим. Останавливаем службу Инструментарий управления Windows (Windows Management Instrumentation). Открываем папку c:windowssystem32wbemrepository.

На всякий случай содержимое папки копируем в безопасное место, а затем удаляем. Перезагружаемся. При первой загрузке возможны проблемы: торможение, подвисания и т.п. Ничего страшного — перезагружаемся еще раз. Вторая загрузка должна пройти быстро и без помех.

Проверяем логи — больше никаких ошибок WMI во время загрузки системы!

Включаем контроль учетных записей обратно.

В заключение следует сказать о том, что данная ошибка классифицируется в Микрософт как некритичная и не влияющая на работоспособность системы. И это действительно так, два года проработал с ней без проблем. Но если есть способ исправить, почему бы это не сделать? ))

Исправил по следующей инструкции:
http://www.msfn.org/board/topic/114389-heres-how-to-fix-wmi-event-id-10-instancemodificationeven/

At a command prompt, type the following command:
%WINDIR%System32msdtc.exe -uninstall

5. Start Registry Editor, and then remove the following registry keys if they exist: • HKEY_CLASSES_ROOTCID

• HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesMSDTC • HKEY_LOCAL_MACHINESYSTEMControlSet001ServicesMSDTC • HKEY_LOCAL_MACHINESYSTEMControlSet002ServicesMSDTC

• HKEY_LOCAL_MACHINESoftwareMicrosoftMSDTC

6. At a command prompt, type %WINDIR%System32msdtc.exe -install.

Поделись ссылкой в соцсети!

Перепечатка материалов разрешена только при наличии прямой ссылки на сайт!

Источник

Причины ошибки: запуск устройства невозможен код ошибки 10

Как я вам не перестаю повторять, прежде чем, что-то исправлять, нужно понять, из-за чего это происходит, чтобы не лечить постоянно следствие проблемы, а избавляться от нее кардинально и на совсем. Рассмотрим основные причины:

  • Я всегда в первую очередь проверяю физику устройства > под физикой понимается, отсутствие механических повреждений, если у вас DVD-rom, то убедитесь, чтобы там ничего не тряслось, если флешка, то попробуйте ее воткнуть в другой USB порт компьютера, так как я чаще всего встречал, что запуск этого устройства невозможен код 10 именно с флешкой. Если это видеокарта или звуковое устройство, то попробуйте воткнуть в другой слот на материнской плате, если у нее они конечно же присутствуют.
  • Криво установилось устройство, чаще всего в этом виновата самая Windows.
  • Повреждены некоторые ветки реестра Windows.
  • Происходит конфликт оборудования

Решаем ошибку: Запуск данного устройства невозможен код 10

Давайте теперь рассмотрим, как со сто процентной уверенностью устранить проблему с запуском данного устройства с кодом 10.

  • Про физику устройства я вам уже написал
  • Следующим шагом я вам посоветую удалить это проблемное устройство в диспетчере, так как оно могло установиться не правильно, для этого щелкните по нему правым кликом и из контекстного меню выберите удалить, я так поступил с Bluetooth Audio Device.

или вот пример с Serial Comm Port

А вот и код 10 с USB устройством. Как видите, ошибка выскакивает везде.

После удаления устройства, в самом верху диспетчера устройств, щелкните правым кликом по названию вашего компьютера и выберите Обновить конфигурацию оборудования.

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

  • Правим реестр Windows. Запустите редактор реестра (Пуск -> Выполнить… -> regedit или сочетание клавиш WIN+R). Переходим там в ветку

в котором параметр Default имеет значение DVD/CD-ROM, а параметр Class — значение CDROM (в реестре может быть несколько экземпляров ветки , так что эти параметры позволят опознать нужный нам).

Найдите в этом разделе параметры UpperFilters и LowerFilters и удалите их. Закройте редактор реестра и перезагрузите компьютер, поидее ошибка Запуск этого устройства невозможен (код 10) в Windows 7 должна пропасть, если нет, то делаем следующее.

  • Установите все возможные обновления доступные для системы. Для этого открываем Пуск > Панель управления > Центр обновления Windows.

Учтите, что в последнее время Microsoft пытается избавиться от Windows 7, поэтому участились случаи когда идет бесконечное обновление Windows 7.

  • Еще может в некоторых случаях, когда операционная система пишет запуск устройства невозможен код 10, можно произвести обновление всех драйверов на ваше железо, я всегда вам советую, все держать в актуальных версиях.
  • Бывают ситуации, что происходит конфликт оборудования, у меня так было с внешним HDD и кард ридером Alcor mini USB card reader. Вот пример, когда мой жесткий, внешний диск пишет запуск устройства невозможен код 10, но самое забавное сам он зажужжал, ему тeпо не хватило питания для старта.

Отключаю ФИЗИЧЕСКИ Alcor mini USB card reader и заново включаю внешний HDD

И о чудо! USM Mass Storage Device нормльно определился в системе.

Как видите ошибка: Запуск этого устройства невозможен код 10 в Windows 7 устраняется весьма просто, главное выявить на будущее причину.

Источник

Источник: https://a174.ru/wmi-oshibka-kod-10-windows-7/

Поделиться:
Нет комментариев

    Добавить комментарий

    Ваш e-mail не будет опубликован. Все поля обязательны для заполнения.