Dela via


New-WinEvent

Skapar en ny Windows-händelse för den angivna händelseprovidern.

Syntax

New-WinEvent
   [-ProviderName] <String>
   [-Id] <Int32>
   [-Version <Byte>]
   [[-Payload] <Object[]>]
   [<CommonParameters>]

Description

Cmdleten New-WinEvent skapar en händelsespårning för Windows -händelse (ETW) för en händelseprovider. Du kan använda den här cmdleten för att lägga till händelser i ETW-kanaler från PowerShell.

Exempel

Exempel 1 – Skapa en ny händelse

New-WinEvent -ProviderName Microsoft-Windows-PowerShell -Id 45090 -Payload @("Workflow", "Running")

Det här kommandot använder cmdleten New-WinEvent för att skapa händelse 45090 för Microsoft-Windows-PowerShell-providern.

Exempel 2 – Hämta mallen för en händelse

I det här exemplet Get-WinEvent används för att hämta mallen för händelse-ID 8007 från händelseprovidern grupprincip. Observera att händelsen har två format.

I version 0 är fältet IsMachine ett booleskt värde. I version 1 är fältet IsMachine ett osignerat heltalsvärde.

(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.

Egenskapen Beskrivning innehåller meddelandet som skrivs till händelseloggen. Värdet %3 och %1 är platshållare för de värden som skickas till mallen. Strängen %3 ersätts med värdet som skickas till fältet PrincipalSamName . Strängen %1 ersätts med värdet som skickas till fältet PolicyElaspedTimeInSeconds .

Exempel 3 – Skapa en ny händelse med en versionsmall

Det här exemplet visar hur du skapar en händelse med en viss mallversion.

$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

Om värdena i nyttolasten inte matchar typerna i mallen loggas händelsen men nyttolasten innehåller ett fel.

Parametrar

-Id

Anger ett händelse-ID som är registrerat i händelseprovidern.

Typ:Int32
Position:2
Standardvärde:None
Obligatorisk:True
Godkänn pipeline-indata:False
Godkänn jokertecken:False

-Payload

Nyttolasten är en matris med värden som skickas som positionsargument till händelsemallen. Värdena infogas i mallen för att skapa meddelandet för händelsen. Händelser kan ha flera mallversioner som använder olika format.

Om värdena i nyttolasten inte matchar typerna i mallen loggas händelsen men nyttolasten innehåller ett fel.

Typ:Object[]
Position:3
Standardvärde:None
Obligatorisk:False
Godkänn pipeline-indata:False
Godkänn jokertecken:False

-ProviderName

Anger händelseprovidern som skriver händelsen till en händelselogg, till exempel "Microsoft-Windows-PowerShell". En ETW-händelseprovider är en logisk entitet som skriver händelser till ETW-sessioner.

Typ:String
Position:1
Standardvärde:None
Obligatorisk:True
Godkänn pipeline-indata:False
Godkänn jokertecken:False

-Version

Anger versionsnumret för händelsen. PowerShell konverterar talet till den bytetyp som krävs. Värdet anger versionen av händelsen när olika versioner av samma händelse definieras.

Typ:Byte
Position:Named
Standardvärde:None
Obligatorisk:False
Godkänn pipeline-indata:False
Godkänn jokertecken:False

Indata

None

Du kan inte skicka objekt till den här cmdleten.

Utdata

None

Den här cmdleten returnerar inga utdata.

Kommentarer

När providern har skrivit händelsen till en händelselogg kan du använda cmdleten Get-WinEvent för att hämta händelsen från händelseloggen.