Share via


Solução de problemas de aplicativos cliente do WMI

O WMI contém um conjunto de classes para aplicativos cliente de solução de problemas que usam provedores WMI. As classes de evento de solução de problemas são acopladas a classes de evento WMI, de modo que você possa acompanhar a execução do aplicativo usando um log de eventos de solução de problemas capturados.

A lista a seguir contém exemplos de classes de evento de solução de problemas:

O procedimento a seguir mostra como solucionar problemas de execução do aplicativo.

Para configurar a solução de problemas do WMI

  1. Crie e compile um arquivo MOF para usar o consumidor de evento de registro em log WMI.
  2. Execute seu aplicativo cliente.
  3. Exiba o arquivo de log de solução de problemas para todos os eventos de operação e falha do provedor e analise o log para diagnosticar os problemas do cliente que você está encontrando.

Outra abordagem de solução de problemas é exibir a lista de provedores atualmente no cache do computador, enumerando MSFT_Providers no namespace de root\cimv2. Há métodos nessa classe que permitem carregar e descarregar provedores para fins de depuração ou configuração.

O exemplo de código a seguir usa o consumidor de eventos de registro em log WMI para capturar todos os eventos da classe de evento pai, capturando, assim, todos os eventos de operação do provedor.

#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 ;
} ;

Quando mensagens de erro indicarem falha na carga do provedor, use MSFT_WmiProvider_LoadOperationFailureEvent para identificar qual provedor causou a falha.

Solução de problemas do WMI

Classes de solução de problemas de WMI