Partager via


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.