Partilhar via


Solução de problemas de aplicativos cliente WMI

WMI contém um conjunto de classes para resolução de problemas em aplicações cliente que usam provedores WMI. As classes de evento de solução de problemas são acopladas às 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 de aplicativos.

Para configurar a solução de problemas do WMI

  1. Crie e compile um arquivo MOF para usar o consumidor de eventos de 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 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 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 as mensagens de erro indicarem falha de carregamento 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 WMI