Suivi de l’activité WMI

À compter de Windows Vista, le service WMI n’utilise pas les fichiers journaux WMI. Au lieu de cela, il utilise le suivi d’événements pour Windows (ETW) et les événements sont disponibles via observateur d'événements ou l’outil en ligne de commande Wevtutil.

Les sections suivantes sont abordées dans cette rubrique :

Obtention d’événements WMI via observateur d'événements

Le fichier WMITracing.log contient les événements suivis par WMI. Toutefois, il s’agit d’un fichier binaire. Pour voir ces événements dans un format lisible par les humains, utilisez l’observateur d'événements.

Par défaut, les événements WMI ne sont pas suivis. Cette procédure explique comment utiliser l’observateur d'événements pour activer le suivi d’événements WMI et localiser les événements WMI. Vous pouvez effectuer les mêmes opérations via l’outil en ligne de commande wevtutil.

Pour afficher les événements WMI dans l’observateur d'événements

  1. Ouvrez l’ Observateur d’événements. Dans le menu Affichage, cliquez sur Afficher les journaux d'analyse et de débogage. Recherchez le journal du canal de suivi pour WMI sous Applications et journaux de service | Microsoft | Windows | Activité WMI.
  2. Cliquez avec le bouton droit sur le journal de suivi et sélectionnez Propriétés du journal. Activez la case à cocher Activer la journalisation pour démarrer le suivi des événements WMI. Pour plus d’informations sur les canaux, consultez Journaux des événements et canaux dans le journal des événements Windows.
  3. Les événements WMI s’affichent dans la fenêtre d’événements pour WMI-Activity. Double-cliquez sur un événement dans la liste pour afficher les informations détaillées. Vous pouvez afficher un événement en mode XML ou au format Mode convivial.

Le champ ID d’événement affiche une valeur qui contient les informations suivantes.

Événement 1

Début de la séquence d’événements pour une opération spécifique. Une occurrence pour chaque séquence.

Les champs d’événement d’un Événement 1 sont les suivants :

  • GroupOperationID est un identificateur unique utilisé pour tous les événements signalés pour un client spécifique.
  • OperationId indique la séquence d’opérations.
  • Operation spécifie la connexion ou la demande à WMI.
  • User indique le compte qui effectue une demande à WMI en exécutant un script ou via CIM Studio.
  • Namespace affiche l’espace de noms WMI auquel la connexion est établie.

Par exemple, un script peut demander toutes les instances d’une classe WMI, comme Win32_Service. La première opération peut être une connexion à WMI.

Événement 2

Événements qui composent l’opération. Une ou plusieurs occurrences dans la séquence.

Les champs d’événement d’un Événement 2 sont les suivants :

  • GroupOperationID indique la séquence dans laquelle l’événement se produit.
  • GroupOperationID indique la séquence dans laquelle l’événement se produit.
  • ProviderName indique le nom du fournisseur qui fournit les données.
  • Path est le chemin WMI de l’objet.

Par exemple, l’opération peut être une énumération de Win32_Service.

Événement 3

Fin de la séquence d’événements pour une opération spécifique. Une occurrence pour chaque séquence.

Seul le GroupOperationID s’affiche.

Activation du suivi WMI à l’invite de commandes

Vous pouvez également activer le suivi des événements WMI via l’outil en ligne de commande Wevtutil. Utilisez la commande suivante : Wevtutil.exe sl Microsoft-Windows-WMI-Activity/Trace /e:true. La source d’événement WMI est Microsoft-Windows-WMI. Pour plus d’informations sur Wevtutil.exe, consultez À propos du journal des événements Windows.

Utilisation du suivi WMI basé sur WPP

Dans les systèmes d’exploitation Windows à partir de Windows Vista, WMI crée un canal de suivi actif pendant le processus de démarrage. Le nom du canal est WMI_Trace_Session. Seules les erreurs sont enregistrées dans le canal.

Le préprocesseur de suivi logiciel Windows (WPP) enregistre des informations dans un fichier binaire. Pour lire le fichier, vous devez d’abord le traduire dans un format texte lisible. Vous utilisez un outil appelé tracefmt.exe à partir du Kit de pilotes Windows (WDK) pour effectuer la traduction. L’outil nécessite des informations stockées dans certains fichiers associés. Les fichiers se trouvent dans le répertoire %SystemRoot%\System32\wbem\tmf et ont une extension de nom de fichier .tmf. L’outil nécessite un seul fichier .tmf. Vous créez ce fichier unique en concaténant tous les fichiers .tmf dans un autre fichier .tmf. Pour plus d’informations sur les fichiers .tmf, consultez Trace Message Format File.

Après avoir installé le Kit de pilotes Windows (WDK) pour obtenir les tracelog.exe et outils en ligne de commande tracefmt.exe, effectuez les étapes suivantes pour collecter une trace WMI basée sur WPP.

Pour afficher une trace WMI basée sur WPP

  1. Pour créer le fichier .tmf unique, ouvrez une fenêtre d’invite de commandes avec élévation de privilèges et accédez au répertoire %SystemRoot%\System32\wbem\tmf.

  2. Tapez copy /y %SystemRoot%\System32\wbem\tmf\*.tmf %SystemRoot%\System32\wbem\tmf\wmi.tmf. Cela crée un fichier nommé wmi.tmf qui inclut le contenu de tous les autres fichiers .tmf.

  3. Tapez tracelog -flush WMI_Trace_Session. Cela videra les mémoires tampons WPP sur le disque.

  4. Tapez set TRACE_FORMAT_PREFIX = [%9!d!]%8!04X!.%3!04X!.%3!04X!::%4!s![%1!s!](%!COMPNAME!:%!FUNC !:%2!s!). L’outil tracefmt ajoute des informations par défaut à chaque message de suivi. Vous pouvez configurer les informations incluses en définissant la variable d’environnement TRACE_FORMAT_PREFIX. Pour en savoir plus sur la syntaxe utilisée, consultez Préfixe de message de suivi.

  5. Tapez tracefmt -tmf %systemroot%\system32\wbem\tmf\wmi.tmf -o OUTPUT.TXT %systemroot%\system32\wbem\logs\WMITracing.log. Cette opération effectue la traduction du format binaire au format texte lisible.

  6. Tapez bloc-notes %systemroot%\system32\wbem\tmf\OUTPUT.TXT. Le fichier de suivi s’ouvre dans le Bloc-notes.

Voici d’autres tâches liées à WPP que vous devrez peut-être effectuer.

Pour arrêter le suivi WMI basé sur WPP

  • Tapez tracelog -flush WMI_Trace_Session.

Pour démarrer le suivi WMI basé sur WPP

  • Tapez tracelog -start WMI_Trace_Session -guid #1FF6B227-2CA7-40f9-9A66-980EADAA602E -rt -level 5 -flag 0x7 -f MYTRACE. BIN

Windows Vista : Par défaut, le suivi WMI basé sur WPP est défini sur le niveau 2, qui inclut uniquement les messages d’erreur. Pour inclure également des messages d’information, définissez le niveau sur 4. Toutes les zones de WMI sont suivies par défaut. Il existe trois zones distinctes qui peuvent être suivies : Core (flag=0x1), ESS (flag=0x2) et Prov (flag=0x4). Dans la commande start ci-dessus, l’indicateur 0x7 entraîne le suivi des trois zones.

Windows 7 : Par défaut, le suivi WMI basé sur WPP est désactivé et défini sur le niveau 0. Pour utiliser le suivi WMI basé sur WPP, cette fonctionnalité doit être activée et définie au niveau 2 pour les messages d’erreur ou au niveau 4 pour les messages d’erreur et d’information.

Pour répertorier toutes les sessions de suivi WPP

  • Tapez tracelog -l.

Pour répertorier des informations sur la session de suivi WPP WMI

  • Tapez tracelog -l | findstr /i "wmi_trace".

Pour afficher les paramètres de session de suivi WPP WMI

  • Tapez tracelog -flush WMI_Trace_Session.

Résolution des problèmes WMI

Fichiers journaux WMI