Sdílet prostřednictvím


New-WinEvent

Vytvoří novou událost systému Windows pro zadaného zprostředkovatele událostí.

Syntax

Default (Výchozí)

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

Description

Tato rutina je dostupná jenom na platformě Windows.

Cmdlet New-WinEvent vytvoří událost Event Tracing for Windows (ETW) pro zprostředkovatele událostí. Tento cmdlet můžete použít k přidání událostí do kanálů ETW z PowerShellu.

Příklady

Příklad 1 – Vytvoření nové události

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

Tento příkaz používá rutinu New-WinEvent k vytvoření události 45090 pro zprostředkovatele MicrosoftWindows-PowerShell.

Příklad 2 – Získání šablony pro událost

V tomto příkladu se Get-WinEvent používá k získání šablony pro událost s ID 8007 od poskytovatele událostí pro zásady skupiny. Všimněte si, že událost má dva formáty.

Ve verzi 0 je pole IsMachine logická hodnota. Ve verzi 1 je pole IsMachine celočíselnou hodnotou bez znaménka.

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

Vlastnost Popis obsahuje zprávu, která se zapíše do protokolu událostí. Hodnota %3 a %1 jsou zástupné symboly hodnot předaných do šablony. Řetězec %3 se nahradí hodnotou předanou do pole PrincipalSamName. Řetězec %1 se nahradí hodnotou předanou poli PolicyElaspedTimeInSeconds.

Příklad 3 – Vytvoření nové události pomocí verzované šablony

Tento příklad ukazuje, jak vytvořit událost pomocí konkrétní verze šablony.

$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

Pokud hodnoty v datové části neodpovídají typům v šabloně, událost se zaprotokoluje, ale datová část obsahuje chybu.

Parametry

-Id

Určuje ID události zaregistrované ve zprostředkovateli událostí.

Vlastnosti parametru

Typ:Int32
Default value:None
Podporuje zástupné znaky:False
DontShow:False

Sady parametrů

(All)
Position:1
Povinné:True
Hodnota z kanálu:False
Hodnota z kanálu podle názvu vlastnosti:False
Hodnota ze zbývajících argumentů:False

-Payload

Užitečné zatížení je pole hodnot předaných jako poziční argumenty do šablony události. Hodnoty se vloží do šablony pro vytvoření zprávy pro událost. Události můžou mít více verzí šablon, které používají různé formáty.

Pokud hodnoty v datové části neodpovídají typům v šabloně, událost se zaprotokoluje, ale datová část obsahuje chybu.

Vlastnosti parametru

Typ:

Object[]

Default value:None
Podporuje zástupné znaky:False
DontShow:False

Sady parametrů

(All)
Position:2
Povinné:False
Hodnota z kanálu:False
Hodnota z kanálu podle názvu vlastnosti:False
Hodnota ze zbývajících argumentů:False

-ProviderName

Určuje zprostředkovatele událostí, který zapisuje událost do protokolu událostí, například Microsoft-Windows-PowerShell. Poskytovatel událostí ETW je logická entita, která zapisuje události do relací ETW.

Vlastnosti parametru

Typ:String
Default value:None
Podporuje zástupné znaky:False
DontShow:False

Sady parametrů

(All)
Position:0
Povinné:True
Hodnota z kanálu:False
Hodnota z kanálu podle názvu vlastnosti:False
Hodnota ze zbývajících argumentů:False

-Version

Určuje číslo verze události. PowerShell převede číslo na požadovaný typ bajtu. Hodnota určuje verzi události, pokud jsou definovány různé verze stejné události.

Vlastnosti parametru

Typ:Byte
Default value:None
Podporuje zástupné znaky:False
DontShow:False

Sady parametrů

(All)
Position:Named
Povinné:False
Hodnota z kanálu:False
Hodnota z kanálu podle názvu vlastnosti:False
Hodnota ze zbývajících argumentů:False

CommonParameters

Tato rutina podporuje běžné parametry: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction a -WarningVariable. Další informace najdete v about_CommonParameters.

Vstupy

None

Do tohoto cmdletu nemůžete předávat objekty.

Výstupy

None

Tento cmdlet nevrátí žádný výstup.

Poznámky

Jakmile zprostředkovatel zapíše událost do protokolu událostí, můžete k získání události z protokolu událostí použít rutinu Get-WinEvent.