S'abonne à un événement Windows Management Instrumentation (WMI).
Syntaxe
Register-WmiEvent [-Class] <string> [[-SourceIdentifier] <string>] [[-Action] <scriptblock>] [-ComputerName <string>] [-Credential <PSCredential>] [-Forward] [-MessageData <psobject>] [-Namespace <string>] [-SupportEvent] [-Timeout <Int64>] [<CommonParameters>] Register-WmiEvent [-Query] <string> [[-SourceIdentifier] <string>] [[-Action] <scriptblock>] [-ComputerName <string>] [-Credential <PSCredential>] [-Forward] [-MessageData <psobject>] [-Namespace <string>] [-SupportEvent] [-Timeout <Int64>] [<CommonParameters>]
Description
L'applet de commande Register-WmiEvent s'abonne aux événements WMI sur l'ordinateur local ou sur un ordinateur distant.
Lorsque l'événement WMI abonné se déclenche, il est ajouté à la file d'attente des événements dans votre session locale, même si l'événement se produit sur un ordinateur distant. Pour obtenir les événements qui se trouvent dans la file d'attente des événements, utilisez l'applet de commande Get-Event.
Vous pouvez utiliser les paramètres de Register-WmiEvent pour vous abonner à des événements sur des ordinateurs distants et spécifier les valeurs de propriété des événements qui peuvent vous aider à identifier l'événement qui figure dans la file d'attente. Vous pouvez également utiliser le paramètre Action pour spécifier les actions à effectuer lorsqu'un événement abonné se déclenche.
Lorsque vous vous abonnez à un événement, un abonné est ajouté à votre session. Pour obtenir les abonnés d'événement qui se trouvent dans la session, utilisez l'applet de commande Get-EventSubscriber. Pour annuler l'abonnement, utilisez l'applet de commande Unregister-Event, qui supprime l'abonné d'événement de la session.
Paramètres
-Action <scriptblock>
Spécifie les commandes qui gèrent les événements. Les commandes spécifiées dans le paramètre Action s'exécutent quand un événement est déclenché, au lieu d'envoyer l'événement à la file d'attente d'événements. Placez les commandes entre accolades ( { } ) pour créer un bloc de script.
La valeur du paramètre Action peut inclure les variables automatiques $Event, $EventSubscriber, $Sender, $SourceEventArgs et $SourceArgs, qui fournissent des informations sur l'événement au bloc de script Action. Pour plus d'informations, consultez about_Automatic_Variables.
Lorsque vous spécifiez une action, Register-WmiEvent retourne un objet de traitement d'événement qui représente cette action. Vous pouvez utiliser les applets de commande qui contiennent Job (les applets de commande Job) pour gérer la tâche d'événement.
Obligatoire ? |
false |
Position ? |
102 |
Valeur par défaut |
The event is added to the event queue. |
Accepter l'entrée de pipeline ? |
false |
Accepter les caractères génériques ? |
false |
-Class <string>
Spécifie l'événement auquel vous vous abonnez. Entrez la classe WMI qui génère les événements. Un paramètre Class ou Query est obligatoire dans chaque commande.
Obligatoire ? |
true |
Position ? |
1 |
Valeur par défaut |
aucun |
Accepter l'entrée de pipeline ? |
false |
Accepter les caractères génériques ? |
false |
-ComputerName <string>
Spécifie un ordinateur distant. La valeur par défaut est l'ordinateur local. Entrez un nom NetBIOS, une adresse IP ou un nom de domaine complet.
Obligatoire ? |
false |
Position ? |
named |
Valeur par défaut |
Local computer |
Accepter l'entrée de pipeline ? |
false |
Accepter les caractères génériques ? |
false |
-Credential <PSCredential>
Spécifie un compte d'utilisateur qui a l'autorisation d'exécuter cette action. Tapez un nom d'utilisateur, tel que « User01 » ou « Domain01\User01 ». Vous pouvez également entrer un objet PSCredential, tel que celui généré par l'applet de commande Get-Credential. Si vous tapez un nom d'utilisateur, vous êtes invité à entrer un mot de passe.
Obligatoire ? |
false |
Position ? |
named |
Valeur par défaut |
The credentials of the current user |
Accepter l'entrée de pipeline ? |
false |
Accepter les caractères génériques ? |
false |
-Forward
Envoie les événements pour cet abonnement à la session sur l'ordinateur local. Utilisez ce paramètre lorsque vous vous inscrivez aux événements sur un ordinateur distant ou dans une session à distance.
Obligatoire ? |
false |
Position ? |
named |
Valeur par défaut |
|
Accepter l'entrée de pipeline ? |
false |
Accepter les caractères génériques ? |
false |
-MessageData <psobject>
Spécifie toutes les données supplémentaires à associer à cet abonnement aux événements. La valeur de ce paramètre apparaît dans la propriété MessageData de tous les événements associés à cet abonnement.
Obligatoire ? |
false |
Position ? |
named |
Valeur par défaut |
None. The MessageData property is NULL. |
Accepter l'entrée de pipeline ? |
false |
Accepter les caractères génériques ? |
false |
-Namespace <string>
Spécifie l'espace de noms de la classe WMI.
Obligatoire ? |
false |
Position ? |
named |
Valeur par défaut |
aucun |
Accepter l'entrée de pipeline ? |
false |
Accepter les caractères génériques ? |
false |
-Query <string>
Spécifie une requête dans Langage de requêtes WMI (WQL) qui identifie la classe d'événements WMI (« select * from __InstanceDeletionEvent », par exemple).
Obligatoire ? |
true |
Position ? |
1 |
Valeur par défaut |
aucun |
Accepter l'entrée de pipeline ? |
false |
Accepter les caractères génériques ? |
false |
-SourceIdentifier <string>
Spécifie un nom que vous sélectionnez pour l'abonnement. Le nom que vous sélectionnez doit être unique dans la session active. La valeur par défaut est le GUID affecté par Windows PowerShell.
La valeur de ce paramètre apparaît dans la valeur de la propriété SourceIdentifier de l'objet abonné et de tous les objets événements associés à cet abonnement.
Obligatoire ? |
false |
Position ? |
101 |
Valeur par défaut |
GUID |
Accepter l'entrée de pipeline ? |
false |
Accepter les caractères génériques ? |
false |
-SupportEvent
Masque l'abonnement aux événements. Utilisez ce paramètre lorsque l'abonnement actuel fait partie d'un mécanisme d'inscription d'événement plus complexe et qu'il ne doit pas être découvert indépendamment.
Pour afficher ou annuler un abonnement qui a été créé avec le paramètre SupportEvent, utilisez le paramètre Force des applets de commande Get-EventSubscriber et Unregister-Event.
Obligatoire ? |
false |
Position ? |
named |
Valeur par défaut |
False |
Accepter l'entrée de pipeline ? |
false |
Accepter les caractères génériques ? |
false |
-Timeout <Int64>
Détermine le délai d'attente de Windows PowerShell jusqu'à ce que cette commande soit exécutée.
La valeur par défaut, 0 (zéro), indique qu'aucun délai d'attente n'est défini et elle fait attendre Windows PowerShell indéfiniment.
Obligatoire ? |
false |
Position ? |
named |
Valeur par défaut |
0 |
Accepter l'entrée de pipeline ? |
false |
Accepter les caractères génériques ? |
false |
<CommonParameters>
Cette applet de commande prend en charge les paramètres courants : -Verbose, -Debug, -ErrorAction, -ErrorVariable, -OutBuffer et -OutVariable. Pour plus d'informations, consultez about_Commonparameters.
Entrées et sorties
Le type d'entrée est le type des objets que vous pouvez diriger vers l'applet de commande. Le type de retour est le type des objets que l'applet de commande retourne.
Entrées |
None Vous ne pouvez pas diriger d'objets vers Register-WmiEvent. |
Sorties |
None Cette applet de commande ne génère aucune sortie. |
Remarques
Pour utiliser cette applet de commande sous Windows Vista ou une version ultérieure de Windows, démarrez Windows PowerShell avec l'option Exécuter en tant qu'administrateur.
Les événements, les abonnements aux événements et la file d'attente des événements existent uniquement dans la session active. Si vous fermez la session active, la file d'attente des événements est ignorée et l'abonnement aux événements est annulé.
Exemple 1
C:\PS>register-wmiEvent -class 'Win32_ProcessStartTrace' -sourceIdentifier "ProcessStarted" Description ----------- Cette commande s'abonne aux événements générés par la classe Win32_ProcessStartTrace. Cette classe déclenche un événement à chaque démarrage d'un processus.
Exemple 2
C:\PS>register-wmiEvent -query "select * from __instancecreationevent within 5 where targetinstance isa 'win32_process'" -sourceIdentifier "WMIProcess" -messageData "Test 01" -timeout 500 Description ----------- Cette commande utilise une requête pour s'abonner aux événements de création de l'instance Win32_process.
Exemple 3
C:\PS>$action = { get-history | where { $_.commandline -like "*start-process*" } | export-cliXml "commandHistory.clixml" } C:\PS> register-wmiEvent -class 'Win32_ProcessStartTrace' -sourceIdentifier "ProcessStarted" -action $action Id Name State HasMoreData Location Command -- ---- ----- ----------- -------- ------- 1 ProcessStarted NotStarted False get-history | where {... Description ----------- Cet exemple montre comment utiliser une action pour répondre à un événement. Dans ce cas, lorsqu'un processus démarre, toute commande Start-Process présente dans la session active est écrite dans un fichier XML. Lorsque vous utilisez le paramètre Action, Register-WmiEvent retourne une tâche en arrière-plan qui représente l'action de l'événement. Vous pouvez utiliser les applets de commande Job, telles que Get-Job et Receive-Job, pour gérer la tâche de l'événement. Pour plus d'informations, consultez about_Jobs.
Exemple 4
C:\PS>register-wmiEvent -class 'Win32_ProcessStartTrace' -sourceIdentifier "Start" -computername Server01 C:\PS> get-event -sourceIdentifier "Start" Description ----------- Cet exemple inscrit des événements sur l'ordinateur distant Server01. WMI retourne les événements à l'ordinateur local et les stocke dans la file d'attente des événements dans la session active. Pour récupérer les événements, exécutez une commande Get-Event locale.
Voir aussi