New-WinEvent
Crée un événement Windows pour le fournisseur d'événements spécifié.
Syntaxe
New-WinEvent
[-ProviderName] <String>
[-Id] <Int32>
[-Version <Byte>]
[[-Payload] <Object[]>]
[<CommonParameters>]
Description
L’applet New-WinEvent
de commande crée un événement de suivi d’événements pour Windows (ETW) pour un fournisseur d’événements.
Vous pouvez utiliser cette applet de commande pour ajouter des événements aux canaux ETW à partir de PowerShell.
Exemples
Exemple 1 - Créer un événement
New-WinEvent -ProviderName Microsoft-Windows-PowerShell -Id 45090 -Payload @("Workflow", "Running")
Cette commande utilise l’applet de commande pour créer l’événement New-WinEvent
45090 pour le fournisseur Microsoft-Windows-PowerShell.
Exemple 2 : Obtenir le modèle pour un événement
Dans cet exemple, Get-WinEvent
est utilisé pour obtenir le modèle pour l’ID d’événement 8007 à partir du fournisseur d’événements de stratégie de groupe. Notez que l’événement a deux formats.
Dans la version 0, le champ IsMachine est une valeur booléenne. Dans la version 1, le champ IsMachine est une valeur entière non signée.
(Get-WinEvent -ListProvider Microsoft-Windows-GroupPolicy).Events | Where-Object Id -eq 8007
Id : 8007
Version : 0
LogLink : System.Diagnostics.Eventing.Reader.EventLogLink
Level : System.Diagnostics.Eventing.Reader.EventLevel
Opcode : System.Diagnostics.Eventing.Reader.EventOpcode
Task : System.Diagnostics.Eventing.Reader.EventTask
Keywords : {}
Template : <template xmlns="http://schemas.microsoft.com/win/2004/08/events">
<data name="PolicyElaspedTimeInSeconds" inType="win:UInt32" outType="xs:unsignedInt"/>
<data name="ErrorCode" inType="win:UInt32" outType="win:HexInt32"/>
<data name="PrincipalSamName" inType="win:UnicodeString" outType="xs:string"/>
<data name="IsMachine" inType="win:Boolean" outType="xs:boolean"/>
<data name="IsConnectivityFailure" inType="win:Boolean" outType="xs:boolean"/>
</template>
Description : Completed periodic policy processing for user %3 in %1 seconds.
Id : 8007
Version : 1
LogLink : System.Diagnostics.Eventing.Reader.EventLogLink
Level : System.Diagnostics.Eventing.Reader.EventLevel
Opcode : System.Diagnostics.Eventing.Reader.EventOpcode
Task : System.Diagnostics.Eventing.Reader.EventTask
Keywords : {}
Template : <template xmlns="http://schemas.microsoft.com/win/2004/08/events">
<data name="PolicyElaspedTimeInSeconds" inType="win:UInt32" outType="xs:unsignedInt"/>
<data name="ErrorCode" inType="win:UInt32" outType="win:HexInt32"/>
<data name="PrincipalSamName" inType="win:UnicodeString" outType="xs:string"/>
<data name="IsMachine" inType="win:UInt32" outType="xs:unsignedInt"/>
<data name="IsConnectivityFailure" inType="win:Boolean" outType="xs:boolean"/>
</template>
Description : Completed periodic policy processing for user %3 in %1 seconds.
La propriété Description contient le message qui est écrit dans le journal des événements. %1
Les %3
espaces réservés et les valeurs sont des espaces réservés pour les valeurs passées dans le modèle. La %3
chaîne est remplacée par la valeur passée au champ PrincipalSamName . La %1
chaîne est remplacée par la valeur passée au champ PolicyElaspedTimeInSeconds .
Exemple 3 - Créer un événement à l’aide d’un modèle versionné
Cet exemple montre comment créer un événement à l’aide d’une version de modèle spécifique.
$Payload = @(300, [uint32]'0x8001011f', $env:USERNAME, 0, 1)
New-WinEvent -ProviderName Microsoft-Windows-GroupPolicy -Id 8007 -Version 1 -Payload $Payload
Get-winEvent -ProviderName Microsoft-Windows-GroupPolicy -MaxEvents 1
ProviderName: Microsoft-Windows-GroupPolicy
TimeCreated Id LevelDisplayName Message
----------- -- ---------------- -------
5/4/2022 8:40:24 AM 8007 Information Completed periodic policy processing for user User1 in 300 seconds
Si les valeurs de la charge utile ne correspondent pas aux types du modèle, l’événement est journalisé, mais la charge utile contient une erreur.
Paramètres
-Id
Spécifie un ID d’événement inscrit dans le fournisseur d’événements.
Type: | Int32 |
Position: | 2 |
Valeur par défaut: | None |
Obligatoire: | True |
Accepter l'entrée de pipeline: | False |
Accepter les caractères génériques: | False |
-Payload
La charge utile est un tableau de valeurs passées en tant qu’arguments positionnels au modèle d’événement. Les valeurs sont insérées dans le modèle pour construire le message de l’événement. Les événements peuvent avoir plusieurs versions de modèle qui utilisent différents formats.
Si les valeurs de la charge utile ne correspondent pas aux types du modèle, l’événement est journalisé, mais la charge utile contient une erreur.
Type: | Object[] |
Position: | 3 |
Valeur par défaut: | None |
Obligatoire: | False |
Accepter l'entrée de pipeline: | False |
Accepter les caractères génériques: | False |
-ProviderName
Spécifie le fournisseur d'événements qui écrit l'événement dans un journal d'événements, comme « Microsoft Windows PowerShell ». Un fournisseur d'événements ETW est une entité logique qui écrit des événements dans des sessions ETW.
Type: | String |
Position: | 1 |
Valeur par défaut: | None |
Obligatoire: | True |
Accepter l'entrée de pipeline: | False |
Accepter les caractères génériques: | False |
-Version
Spécifie le numéro de version de l'événement. PowerShell convertit le nombre en type d’octet requis. La valeur spécifie la version de l’événement lorsque différentes versions du même événement sont définies.
Type: | Byte |
Position: | Named |
Valeur par défaut: | None |
Obligatoire: | False |
Accepter l'entrée de pipeline: | False |
Accepter les caractères génériques: | False |
Entrées
None
Vous ne pouvez pas diriger les objets vers cette applet de commande.
Sorties
None
Cette applet de commande ne retourne pas de sortie.
Notes
Une fois que le fournisseur écrit l’événement dans un journal des événements, vous pouvez utiliser l’applet Get-WinEvent
de commande pour obtenir l’événement à partir du journal des événements.