Windows не удается вывести свойства этого подключения wmi повреждены

Обновлено: 05.07.2024

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

служебная программа для диагностики WMI

программа диагностики WMI (WMIDiag.exe) больше не поддерживается, начиная с Windows 8 и Windows Server 2012.

    • Windows 7, Windows server 2008 R2, Windows Vista и Windows Server 2008: * *

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

    Модули записи поставщика также могут столкнуться с проблемами отладки, если не выполняется запись несвязанного поставщика. Дополнительные сведения см. в разделе службы отладки.

    Ведение журнала и трассировка

    Файлы журналов WMI больше не существуют; они были заменены трассировкой событий для Windows (ETW). Дополнительные сведения см. в статьях Трассировка действий WMI, ведение журнала действий WMIи файлы журналов WMI.

    Устранение неполадок в скриптах и приложениях

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

    Как модули записи поставщика могут предотвратить проблемы WMI

    доступ запрещен

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

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

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

    Ошибки отказа в доступе из изменений брандмауэра подключения к Интернету (ICF).

    Безопасность DCOM возвращает ошибку отказа в доступе, когда клиент с низкой целостностью пытается получить доступ к инструментарию WMI. например, элемент управления ActiveX, работающий в Internet Explorer, уровень безопасности которого имеет значение low, не имеет доступа для выполнения локальных операций WMI.

    Windows 7: Пользователи с низкой целостностью имеют разрешения только на чтение для локальных операций WMI.

    Сведения об ошибках

    На компьютере под управлением Windows 10 перестала работать WMI .
    Никакие скрипты, раньше нормально работавшие, теперь не функционируют. Диапазон возвращаемых ошибок достаточно велик: 0x80041XXX, 0x800420XX, 0x700310XX (“Инициализация класса WMI невозможна”, “Вызов WMI запрещен”, “WMI вернул некорректный ответ”, "Ошибка в файле WMI.MOF" и так далее).


    7,648 4 4 золотых знака 19 19 серебряных знаков 57 57 бронзовых знаков

    Я столкнулся с этой ситуацией на днях: мои студенты тестировали управление системными функциями и две машины в домене (на обеих – Windows 10) стали возвращать ошибки при работе с Windows Management Instrumentation. Основной админ ещё не вышел из отпуска, пришлось вспоминать, что я бывший руководитель Отдела ИТ :)

    Сразу отвечу на третий вопрос: без рабочего WMI, на мой взгляд, можно оставлять лишь домашний игровой компьютер, на котором, кроме игр и просмотра видео, больше ничего не делается (разве что дети учатся программировать). В остальных случаях, особенно на корпоративных машинах, тем более в домене, WMI должна работать как часы. Это моё мнение, кто-то может не согласиться.

    Теперь о причинах произошедшего: их может быть очень много. Забегая вперед, скажу что на одной машине это произошло из-за того, что на жестком диске закончилось место, а затем был сбой по питанию из-за сломанного ИБП (увы, никто не застрахован; сервера, конечно, защищены от подобного, а обычная рабочая машинка не была). На второй хуже: нефатальный сбой жесткого диска с последующим BSOD. В целом, разобраться с причинами не так уж и важно, главное, выяснить, что причиной не является вирус или попытка взлома. Впрочем, намеренное удаление или случайная порча системных файлов тоже должны быть рассмотрены достаточно пристально.

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

    1 этап. Проверка работы сервиса.

    Проверяем имеется ли в системе служба Windows Management Instrumentation (Winmgmt) и включена ли она. Вызываем Службы (в Windows 10 проще всего через Пуск/Средства администрирования/Службы, но я предпочитаю в любой версии Windows, кроме самых старых, напечатать в командной строке services.msc ), ищем Инструментарий управления Windows/Windows Management Instrumentation , проверяем, запущена ли она:

    введите сюда описание изображения

    Если она не запущена, пытаемся запустить, выставим режим запуска в «Автоматически». Если запущена, пытаемся перезапустить (Остановить/запустить). После этого проверяем работоспособность WMI. Проще всего сделать это, выполнив любой WMI-запрос в powershell (напоминаю, что powershell в Windows 10 запускается через Пуск/Windows PowerShell/Windows Power Shell, но проще, на мой взгляд, запустить командную строку с админовскими правами, а в ней уже набрать powershell ), например, такой: (вы можете выполнить другой, свой любимый :))

    Если у вас вылетела портянка объектов, всё в порядке. Если же полезли ошибки, значит, работоспособность не восстановлена, переходим ко второму этапу.

    Между делом скажу пару слов об официальной утилите Microsoft WMI Diagnosis. Все почему-то наперебой её рекомендуют, как хороший помощник при восстановлении. Увы, я убил достаточно много времени на анализ результатов действия этой утилиты: скрипт создал кучу лог-файлов, через которые продраться можно, если вы никуда не торопитесь, у вас есть куча времени и полкило пуэра/кофе-машина. В причинах сбоев я разобрался быстрее без неё. Вероятность того, что она может помочь непосредственно в скором восстановлении работы WMI – очень мала.

    2 этап. Недеструктивное восстановление

    Стоит попытаться вначале выполнить перерегистрацию библиотек и рекомпиляцию файлов расширения свойств объектов ( Managed Object Format, MOF ) и языковую составляющую этих файлов ( MFL ). Практически гарантированно сработает, если попытка WMI-запроса у вас вызывала ошибку вида “Ошибка в файле WMI.MOF” или любом другом MOF-файле. Для этого выполним следующие операции:

    1. Остановим службу WMI, обязательно запретив её автостарт
    2. Перерегистрируем все библиотеки в папке Windows\system32\wbem
    3. Перерегистрируем службы WMI и WMI Provider Host
    4. Запускаем службу WMI и разрешаем её автостарт
    5. Рекомпилируем MOF и MFL файлы

    Можно собрать всё это в один BAT-файл и запустить:

    Отмечу, что таким образом я восстановил работу WMI на первой машине. Со второй, увы не получилось. Если у вас не получается, пора переходить к 3му этапу

    3 этап. Деструктивное восстановление

    Фактически, на 3м этапе мы пересоздаем хранилище WMI, как таковое, которое находится в папке Windows\System32\Wbem\Repository и является базой данных, в которой хранятся данные и определения стандартных WMI-классов и статическая информация дополнительных WMI-классов, если они создавались на вашей машине.

    Перед операциями проверьте состояние жёсткого диска и файловой системы.

    Проверяем целостность (На Windows XP и ниже не работает):

    В случае ответа отличного от “База данных WMI согласована”, можно выполнить "мягкое восстановление" командой:

    с последующим перезапуском службы:

    с последующим рестартом системы. Отмечу, что вторая машина заработала после этого этапа. Последствия были не сильно удручающими, но серьёзными: пришлось переинсталлировать Visual Studio и Delphi Starter, MS Office отказался работать и его пришлось деинсталлировать вручную, удаляя папки, файлы и записи из реестра, с последующей повторной установкой. Также слетели все наши собственные классы WMI.

    Но, если и это не помогло, придётся удалять и создавать хранилище заново. Это можно сделать следующим BAT-файлом:

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

    date

    01.03.2021

    directory

    Windows 10, Windows Server 2016, Скрипты

    comments

    комментарий 41

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

    В первую очередь нужно проверить служба 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 может выглядеть так:

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

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

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

    В моем случае, например, при открытии свойств WMI Control в консоли управления компьютером (compmgmt.msc) появлялась надпись:

    Ранее для диагностики WMI существовала официальная утилита от Microsoft – WMIDiag.vbs (Microsoft WMI Diagnosis). WMIdiag это vbs скрипт, который проверяет различные подсистемы WMI и записывает собранную информацию в лог файлы (по умолчанию логи находятся в каталоге %TEMP% — C:\USERS\%USERNAME%\APPDATA\LOCAL\TEMP\). Получившийся отчет состоит из файлов, имена которых начинаются с WMIDIAG-V2.2 и включает в себя следующие типы фалов:

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

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

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

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

    WMIDiag It is not supported in Wow64

    К сожалению, последняя версия 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

    Если команда возвращает, что база данных 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%\system32\wbem
    for /f %s in ('dir /b *.dll') do regsvr32 /s %s
    wmiprvse /regserver
    sc config winmgmt start= auto
    net start winmgmt
    for /f %s in ('dir /b *.mof') do mofcomp %s
    for /f %s in ('dir /b *.mfl') do mofcomp %s

    На 64 битной версии Windows эти действия нужно также выполнить для каталога SysWOW64. Замените третью строку на

    bat скрипт для перерегистрации компонентов wmi

    Указанные команды можно выполнить путем простой вставки в окно командой строки, либо сохранить код в bat файле wmi_soft_repair.bat и запустить его с правами администратора. После окончания работы скрипта, перезагрузите Windows и проверьте работу WMI.

    Сброс и пересоздание WMI репозитория (хранилища)

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

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

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

    Следующая команда выполнит сброс базы данных WMI к исходному состоянию (как после чистой установки Windows). Используйте эту команду для выполнения hard reset репозитория WMI, если параметре salvagerepository не исправил проблему:

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

    Если обе команды ( Winmgmt /salvagerepository и Winmgmt /resetrepository ) не восстановили консистентное состояние базы WMI, попробуйте выполнить “жесткое” пересоздание базы WMI вручную таким скриптом:

    sc config winmgmt start= disabled
    net stop winmgmt
    cd %windir%\system32\wbem
    winmgmt /resetrepository
    winmgmt /resyncperf
    if exist Repos_bakup rd Repos_bakup /s /q
    rename Repository Repos_bakup
    regsvr32 /s %systemroot%\system32\scecli.dll
    regsvr32 /s %systemroot%\system32\userenv.dll
    for /f %s in ('dir /b *.dll') do regsvr32 /s %s
    for /f %s in ('dir /b *.mof') 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%\sysWOW64\wbem.

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

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

    WMI repository is consistent

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


    Guide

    Часто Репозиторий WMI поврежден, что приводит к сбою загрузки поставщика. В этом руководстве мы расскажем, как восстановить или перестроить репозиторий WMI в Windows 10. Для тех, кто не в курсе, инструментарий управления Windows или WMI представляет собой набор спецификаций Microsoft для консолидации управления устройства и приложения в сети. Это база данных, в которой хранится метаинформация и определения для классов WMI . Только используя их, условия систем могут быть известны.

    % WINDIR% \ system32 \ Wbem \ Repository

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

    Примечание . Не используйте это на компьютере с кластером Server 2012

    Восстановить или перестроить репозиторий WMI в Windows


    Существуют инструменты командной строки для исправления или восстановления хранилища WMI. Тем не менее, Microsoft предполагает, что лучше всего проверить, есть ли коррупция.

    Ниже приведен список ошибок и проблем с разрешениями, которые вы можете увидеть:

    Если в хранилище есть проблема, он ответит « хранилище не согласовано », если нет, то это что-то другое, что вызвало проблему. Теперь, когда вы уверены, что коррупция существует, давайте следуем этим советам, чтобы восстановить или перестроить репозиторий WMI.

    1] Сбросить WMI Repository

    Откройте командную строку с повышенными привилегиями.

    Затем выполните команду, чтобы увидеть, вернется ли она как

    Если говорится, что Репозиторий не согласован , вам нужно выполнить:

    • salvagerepository: этот параметр при использовании с командой winmmgmt выполняет проверку согласованности. Если обнаружено несоответствие, он восстанавливает хранилище.
    • verifyrepository: выполняет проверку непротиворечивости в WMI-хранилище.
    • resetrepository: репозиторий сбрасывается в исходное состояние при первой установке операционной системы

    Надеюсь, что это объясняет, что происходит, когда вы выполняете команды.

    2] Принудительное восстановление WMI

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

    Автообновление : Здесь будут использоваться образы резервных копий, если включена резервная копия VSS (теневое копирование тома).

    HKLM \ Software \ Microsoft \ WBEM \ CIMOM: автоматическое восстановление MOF

    Примечание. Автоматическое восстановление MOF является ключевым моментом. Дважды щелкните по нему, чтобы проверить значение.

    WMI Самовосстановление не работает

    Если самовосстановление не работает, вы всегда можете воспользоваться процессом принудительного восстановления.

    Проверьте значение regkey пусто или не здесь:

    HKLM \ Software \ Microsoft \ WBEM \ CIMOM \ Авто-восстановление MOF

    Если приведенный выше ключ пуст, скопируйте и вставьте значение ключа с другого компьютера. Убедитесь, что это из системы, которая эквивалентна рассматриваемому компьютеру.

    Далее выполните команду

    Если оба предложенных исправления не работают, самое время попробовать автоматизированный инструмент.

    3] WMI Fixer Tool


    Этот инструмент исправит серверный WMI-репозиторий, если он поврежден или возникла связанная с ним проблема. Вы можете скачать WMI Fixer Tool от Technet.

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

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

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

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

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

    Ошибка WMI код 10

    Ошибка WMI код 10

    Ошибка 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.

    Читайте также: