New-WinEvent
Tworzy nowe zdarzenie systemu Windows dla określonego dostawcy zdarzeń.
Składnia
Default (Domyślna)
New-WinEvent
[-ProviderName] <String>
[-Id] <Int32>
[-Version <Byte>]
[[-Payload] <Object[]>]
[<CommonParameters>]
Opis
Ten cmdlet jest dostępny tylko na platformie Windows.
Polecenie cmdlet New-WinEvent tworzy zdarzenie śledzenia zdarzeń systemu Windows (ETW) dla dostawcy zdarzeń.
To polecenie cmdlet służy do dodawania zdarzeń do kanałów ETW z programu PowerShell.
Przykłady
Przykład 1 — tworzenie nowego zdarzenia
New-WinEvent -ProviderName Microsoft-Windows-PowerShell -Id 45090 -Payload @("Workflow", "Running")
To polecenie używa cmdletu New-WinEvent do utworzenia zdarzenia 45090 dla dostawcy MicrosoftWindows-PowerShell.
Przykład 2 - Pobierz szablon wydarzenia
W tym przykładzie Get-WinEvent służy do pobierania szablonu dla zdarzenia o identyfikatorze 8007 od dostawcy zdarzeń zasad grupy. Zwróć uwagę, że zdarzenie ma dwa formaty.
W wersji 0 pole IsMachine jest wartością logiczną. W wersji 1 pole IsMachine jest niepodpisaną wartością całkowitą.
(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.
Właściwość Description zawiera komunikat, który jest zapisywany w dzienniku zdarzeń. Wartości %3 i %1 są symbolami zastępczymi wartości przekazanych do szablonu. Ciąg %3 jest zastępowany wartością przekazaną do pola PrincipalSamName. Ciąg %1 jest zastępowany wartością przekazaną do pola PolicyElaspedTimeInSeconds .
Przykład 3 — tworzenie nowego zdarzenia przy użyciu wersjonowanego szablonu
W tym przykładzie pokazano, jak utworzyć zdarzenie przy użyciu określonej wersji szablonu.
$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
Jeśli wartości w ładunku nie są zgodne z typami w szablonie, zdarzenie jest rejestrowane, ale ładunek zawiera błąd.
Parametry
-Id
Określa identyfikator zdarzenia, który jest zarejestrowany w dostawcy zdarzeń.
Właściwości parametru
| Typ: | Int32 |
| Domyślna wartość: | None |
| Obsługuje symbole wieloznaczne: | False |
| DontShow: | False |
Zestawy parametrów
(All)
| Position: | 1 |
| Obowiązkowy: | True |
| Wartość z potoku: | False |
| Wartość z potoku według nazwy właściwości: | False |
| Wartość z pozostałych argumentów: | False |
-Payload
Ładunek to tablica wartości przekazywanych jako argumenty pozycyjne do szablonu zdarzenia. Wartości są wstawiane do szablonu w celu skonstruowania komunikatu dla zdarzenia. Zdarzenia mogą mieć wiele wersji szablonów, które używają różnych formatów.
Jeśli wartości w ładunku nie są zgodne z typami w szablonie, zdarzenie jest rejestrowane, ale ładunek zawiera błąd.
Właściwości parametru
| Typ: | Object[] |
| Domyślna wartość: | None |
| Obsługuje symbole wieloznaczne: | False |
| DontShow: | False |
Zestawy parametrów
(All)
| Position: | 2 |
| Obowiązkowy: | False |
| Wartość z potoku: | False |
| Wartość z potoku według nazwy właściwości: | False |
| Wartość z pozostałych argumentów: | False |
-ProviderName
Określa dostawcę zdarzeń, który zapisuje zdarzenie w dzienniku zdarzeń, na przykład "Microsoft-Windows-PowerShell". Dostawca zdarzeń ETW to jednostka logiczna, która zapisuje zdarzenia w sesjach ETW.
Właściwości parametru
| Typ: | String |
| Domyślna wartość: | None |
| Obsługuje symbole wieloznaczne: | False |
| DontShow: | False |
Zestawy parametrów
(All)
| Position: | 0 |
| Obowiązkowy: | True |
| Wartość z potoku: | False |
| Wartość z potoku według nazwy właściwości: | False |
| Wartość z pozostałych argumentów: | False |
-Version
Określa numer wersji zdarzenia. Program PowerShell konwertuje liczbę na wymagany typ bajtu. Wartość określa wersję zdarzenia, gdy zdefiniowano różne wersje tego samego zdarzenia.
Właściwości parametru
| Typ: | Byte |
| Domyślna wartość: | None |
| Obsługuje symbole wieloznaczne: | False |
| DontShow: | False |
Zestawy parametrów
(All)
| Position: | Named |
| Obowiązkowy: | False |
| Wartość z potoku: | False |
| Wartość z potoku według nazwy właściwości: | False |
| Wartość z pozostałych argumentów: | False |
CommonParameters
To polecenie cmdlet obsługuje typowe parametry: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction i -WarningVariable. Aby uzyskać więcej informacji, zobacz about_CommonParameters.
Dane wejściowe
None
Nie można przekazywać obiektów do tego cmdletu.
Dane wyjściowe
None
To polecenie cmdlet nie zwraca żadnych danych wyjściowych.
Uwagi
Po zapisaniu zdarzenia przez dostawcę w dzienniku zdarzeń można użyć polecenia cmdlet Get-WinEvent, aby pobrać zdarzenie z dziennika zdarzeń.