Share via


Risoluzione dei problemi relativi alle applicazioni client WMI

WMI contiene un set di classi per la risoluzione dei problemi delle applicazioni client che usano provider WMI. Le classi di eventi di risoluzione dei problemi sono associate a classi di eventi WMI, in modo da poter tenere traccia dell'esecuzione dell'applicazione usando un log di eventi di risoluzione dei problemi acquisiti.

L'elenco seguente contiene esempi di classi di eventi per la risoluzione dei problemi:

La procedura seguente illustra come risolvere i problemi di esecuzione dell'applicazione.

Per configurare la risoluzione dei problemi di WMI

  1. Creare e compilare un file MOF per usare il consumer di eventi di registrazione WMI.
  2. Eseguire l'applicazione client.
  3. Visualizzare il file di log di risoluzione dei problemi per tutti gli eventi di operazione e di errore del provider e analizzare il log per diagnosticare i problemi del client che si verificano.

Un altro approccio alla risoluzione dei problemi consiste nel visualizzare l'elenco dei provider attualmente nella cache del computer enumerando MSFT_Providers nello spazio dei nomi root\cimv2 . In questa classe sono disponibili metodi che consentono di caricare e scaricare i provider per scopi di debug o configurazione.

Nell'esempio di codice seguente viene usato il consumer di eventi di registrazione WMI per acquisire tutti gli eventi della classe di evento padre, acquisendo così tutti gli eventi dell'operazione del provider.

#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 i messaggi di errore indicano l'errore di caricamento del provider, usare MSFT_WmiProvider_LoadOperationFailureEvent per identificare il provider che ha causato l'errore.

Risoluzione dei problemi di WMI

Classi di risoluzione dei problemi WMI