Partager via


Résolution des problèmes liés aux applications clientes WMI

WMI contient un ensemble de classes de résolution des problèmes liés aux applications clientes qui utilisent des fournisseurs WMI. Les classes d’événements de résolution des problèmes sont couplées aux classes d’événements WMI. Vous pouvez donc suivre l’exécution de votre application au moyen d’un journal qui capture les événements de résolution des problèmes.

La liste suivante contient des exemples de classes d’événements de résolution des problèmes :

La procédure suivante montre comment résoudre les problèmes d’exécution d’une application.

Pour configurer la résolution des problèmes WMI

  1. Créez et compilez un fichier MOF qui utilise le consommateur d’événements de journalisation WMI.
  2. Exécutez votre application cliente.
  3. Consultez le fichier journal de résolution des problèmes pour tous les événements d’opération et d’échec du fournisseur, puis analysez le journal pour diagnostiquer les problèmes de client que vous rencontrez.

Une autre approche consiste à examiner la liste des fournisseurs actuellement dans le cache de l’ordinateur en énumérant MSFT_Providers dans l’espace de noms root\cimv2. Cette classe comprend des méthodes qui vous permettent de charger et de décharger des fournisseurs à des fins de débogage ou de configuration.

L’exemple de code suivant utilise le consommateur d’événements de journalisation WMI pour capturer tous les événements de la classe d’événements parent, capturant ainsi tous les événements d’opération du fournisseur.

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

Quand des messages d’erreur indiquent un échec de chargement du fournisseur, utilisez MSFT_WmiProvider_LoadOperationFailureEvent pour identifier le fournisseur à l’origine de l’erreur.

Résolution des problèmes WMI

Classes de résolution des problèmes WMI