Устранение неполадок инструментария WMI
При доступе к локальным или удаленным данным WMI в приложении или скрипте могут возникнуть ошибки, начиная от отсутствующих классов до отказа в доступе. Поставщики также имеют параметры отладки и классы устранения неполадок.
Примечание
Сведения в этом разделе предназначены для разработчиков и ИТ-администраторов. Если вы являетесь конечным пользователем, у которого возникло сообщение об ошибке, касающееся WMI, посетите служба поддержки Майкрософт и найдите код ошибки, который отображается в сообщении об ошибке. Дополнительные сведения об устранении неполадок со сценариями WMI и службой WMI см. в статье WMI не работает.
служебная программа для диагностики WMI
Важно!
Служебная программа для диагностики WMI (WMIDiag.exe
) больше не поддерживается, начиная с Windows 8 и Windows Server 2012.
Windows 7, Windows Server 2008 R2, Windows Vista и Windows Server 2008:
Если WMI возвращает сообщения об ошибках, имейте в виду, что они могут не указывать на проблемы в службе WMI или в поставщиках WMI. Сбои могут возникать в других частях операционной системы и возникать как ошибки через WMI. Ни при каких обстоятельствах не следует удалять репозиторий WMI в качестве первого шага; поскольку удаление репозитория может привести к повреждению системы или установленных приложений.
Ранее, чтобы получить дополнительные сведения об источнике проблемы, можно было скачать и запустить программу командной строки диагностики служебная программа для диагностики WMI. Это средство создало отчет, который обычно может изолировать источник проблемы и предоставить инструкции по ее устранению. Этот отчет также помогает службам поддержки Майкрософт в оказании вам помощи. Ранее служебная программа для диагностики WMI был доступен в Центре загрузки.
Как модуль записи поставщика вы также можете столкнуться с проблемами отладки, если только вы не пишете разделенный поставщик. Дополнительные сведения см. в разделе Поставщики отладки.
Ведение журнала и трассировка
Файлы журналов WMI больше не существуют; они были заменены трассировкой событий Windows (ETW). Дополнительные сведения см. в разделах Трассировка действий WMI, Ведение журнала WMI и Файлы журналов WMI.
Устранение неполадок в скриптах и приложениях
WMI содержит набор классов для устранения неполадок клиентских приложений, использующих поставщики WMI. Дополнительные сведения см. в разделе Устранение неполадок клиентских приложений WMI.
Как регистраторы поставщиков могут предотвратить проблемы WMI
Регистратор поставщиков может предотвратить множество проблем (которые появляются в сообщениях об ошибках через WMI), выполнив следующие действия:
- Правильная регистрация поставщика. Дополнительные сведения см. в разделе Регистрация поставщика.
- Добавление инструкции #pragma автоматического восстановления в MOF-файл, который определяет классы поставщика.
Дополнительные сведения см. в разделах Поставщики отладки, Предоставление данных в WMI и Классы конфигурации поставщика и устранения неполадок.
Доступ запрещен
Ошибки отказа в доступе , о которых сообщают скрипты и приложения, которые обращаются к пространствам имен и данным WMI, обычно делятся на три категории. В следующей таблице перечислены три категории ошибок, а также проблемы, которые могут вызвать ошибки и возможные решения.
Ошибка | Возможные проблемы | Решение |
---|---|---|
0x800706BA HRESULT_FROM_WIN32(RPC_S_SERVER_UNAVAILABLE) Проблема брандмауэра или сервер недоступен. |
Компьютер действительно не существует или брандмауэр Windows блокирует подключение |
Подключение к Vista: netsh advfirewall firewall set rule group="windows management instrumentation (wmi)" new enable=yes Connecting to downlevel: Allow the Remote Administration rule in Windows Firewall. |
E_ACCESS_DENIED 0x80070005 Доступ запрещен безопасностью DCOM. |
У пользователя нет удаленного доступа к компьютеру через DCOM. Как правило, ошибки DCOM возникают при подключении к удаленному компьютеру с другой версией операционной системы. |
Предоставьте пользователю разрешения на удаленный запуск и удаленную активацию в dcomcnfg. Щелкните правой кнопкой мыши Мой компьютер —> свойства. В разделе Безопасность COM щелкните "Изменить ограничения" для обоих разделов. Предоставьте пользователю удаленный доступ, удаленный запуск и удаленную активацию. Затем перейдите к конфигурации DCOM, найдите "Инструментарий управления Windows" и предоставьте пользователю удаленный запуск и удаленную активацию. Дополнительные сведения см. в разделе Подключение между разными операционными системами. |
WBEM_E_ACCESS_DENIED 0x80041003 Доступ запрещен поставщиком |
Пользователь не имеет разрешения на выполнение операции в WMI. Это может произойти, когда вы запрашиваете определенные классы в качестве пользователя с низкими правами, но чаще всего это происходит при попытке вызвать методы или изменить экземпляры WMI в качестве пользователя с низкими правами. Пространство имен, к которому выполняется подключение, зашифровано, и пользователь пытается подключиться с помощью незашифрованного подключения. |
Предоставьте пользователю доступ с помощью элемента управления WMI (убедитесь, что для него Remote_Access задано значение true). Подключитесь с помощью клиента, поддерживающего шифрование. |
Как правило, ошибки DCOM возникают при подключении к удаленному компьютеру с другой версией операционной системы.
Поставщики также могут запретить доступ к данным в определенных пространствах имен или требовать определенных уровней безопасности подключения. Дополнительные сведения см. в разделах Настройка безопасности процесса клиентских приложений и Размещение и безопасность поставщика.
Ошибки отказа в доступе из-за изменений брандмауэра подключения к Интернету (ICF).
Дополнительные сведения см. в разделе Подключение через брандмауэр Windows.
Безопасность DCOM возвращает ошибку отказа в доступе, когда клиент с низкой целостностью пытается получить доступ к WMI. Например, элемент ActiveX, работающий в интернет-Обозреватель с низким уровнем безопасности, не имеет доступа для выполнения локальных операций WMI.
Windows 7: Пользователи с низкой целостностью имеют разрешения только для чтения для локальных операций WMI.
Сведения об ошибках
При получении сообщения об ошибке из WMI его можно найти в разделе Константы ошибок WMI или WbemErrorEnum для создания скриптов. Однако информации, предоставленной ошибкой, как правило, недостаточно, чтобы определить, что происходит. Повреждение репозитория WMI может маскироваться под классы или экземпляры "не найдены".
Дополнительные сведения об ошибках WMI:
- Журналы WMI отслеживают события из ядра WMI и от поставщиков. Дополнительные сведения см. в разделе Ведение журнала действий WMI.
- Классы устранения неполадок WMI используются для проверка внутреннего состояния WMI или получения уведомлений о событиях поставщика или службы WMI. Дополнительные сведения см. в разделах Настройка поставщика и Классы устранения неполадок и Устранение неполадок клиентских приложений WMI.