Поделиться через


Устранение неполадок клиентских приложений WMI

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

В следующем списке приведены примеры устранения неполадок с классами событий:

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

Настройка устранения неполадок WMI

  1. Создайте и скомпилируйте MOF-файл для использования потребителя событий ведения журнала WMI.
  2. Запустите клиентское приложение.
  3. Просмотрите файл журнала устранения неполадок для всех операций поставщика и событий сбоя, а также проанализируйте журнал для диагностики проблем клиента, с которыми вы столкнулись.

Другой подход к устранению неполадок заключается в просмотре списка поставщиков, которые в настоящее время находятся в кэше компьютера, путем перечисления MSFT_Providers в пространстве имен root\cimv2 . В этом классе есть методы, которые позволяют загружать и выгружать поставщиков для отладки или настройки.

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

#pragma autorecover
#pragma namespace("\\\\.\\root\\subscription")

instance of __EventFilter as $Filter
{
  Name = "ProviderOperationEvents" ;
  EventNamespace = "root\\cimv2" ;
  Query = "SELECT * FROM MSFT_WmiProvider_OperationEvent" ;
  QueryLanguage = "WQL" ;
} ;

Instance of LogFileEventConsumer as $Consumer
{
  Name = "ProviderOperationEvents" ;
  FileName = "C:\\test.txt" ;
  Text = "Operation - %__TEXT%" ;
} ;

instance of __FilterToConsumerBinding
{
  Filter = $Filter ;
  Consumer = $Consumer ;
  MaintainSecurityContext = TRUE ;
} ;

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

Устранение неполадок WMI

Классы устранения неполадок WMI