New-WinEvent
Vytvoří novou událost systému Windows pro zadaného zprostředkovatele událostí.
Syntaxe
New-WinEvent
[-ProviderName] <String>
[-Id] <Int32>
[-Version <Byte>]
[[-Payload] <Object[]>]
[<CommonParameters>]
Description
Tato rutina je dostupná jenom na platformě Windows.
Rutina New-WinEvent
vytvoří událost Trasování událostí pro Windows (ETW) pro zprostředkovatele událostí.
Tuto rutinu můžete použít k přidání událostí do kanálů Trasování událostí 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í zásad 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 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í šablony s verzí
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í.
Typ: | Int32 |
Position: | 1 |
Default value: | None |
Vyžadováno: | True |
Přijmout vstup kanálu: | False |
Přijmout zástupné znaky: | False |
-Payload
Datová část je pole hodnot předaných do šablony události jako poziční argumenty. 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.
Typ: | Object[] |
Position: | 2 |
Default value: | None |
Vyžadováno: | False |
Přijmout vstup kanálu: | False |
Přijmout zástupné znaky: | False |
-ProviderName
Určuje zprostředkovatele událostí, který zapisuje událost do protokolu událostí, například Microsoft-Windows-PowerShell. Zprostředkovatel událostí pro Windows je logická entita, která zapisuje události do relací Trasování událostí pro Windows.
Typ: | String |
Position: | 0 |
Default value: | None |
Vyžadováno: | True |
Přijmout vstup kanálu: | False |
Přijmout zástupné znaky: | 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.
Typ: | Byte |
Position: | Named |
Default value: | None |
Vyžadováno: | False |
Přijmout vstup kanálu: | False |
Přijmout zástupné znaky: | False |
Vstupy
None
Do této rutiny nemůžete roušit objekty.
Výstupy
None
Tato rutina 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
.