New-WinEvent
Hiermee maakt u een nieuwe Windows-gebeurtenis voor de opgegeven gebeurtenisprovider.
Syntaxis
New-WinEvent
[-ProviderName] <String>
[-Id] <Int32>
[-Version <Byte>]
[[-Payload] <Object[]>]
[<CommonParameters>]
Description
Deze cmdlet is alleen beschikbaar op het Windows-platform.
De cmdlet New-WinEvent
maakt een ETW-gebeurtenis (Event Tracing for Windows) voor een gebeurtenisprovider.
U kunt deze cmdlet gebruiken om gebeurtenissen toe te voegen aan ETW-kanalen vanuit PowerShell.
Voorbeelden
Voorbeeld 1: een nieuwe gebeurtenis maken
New-WinEvent -ProviderName Microsoft-Windows-PowerShell -Id 45090 -Payload @("Workflow", "Running")
Met deze opdracht wordt de New-WinEvent
-cmdlet gebruikt om gebeurtenis 45090 te maken voor de Microsoft-Windows-PowerShell-provider.
Voorbeeld 2: de sjabloon voor een gebeurtenis ophalen
In dit voorbeeld wordt Get-WinEvent
gebruikt om de sjabloon op te halen voor gebeurtenis-id 8007 van de gebeurtenisprovider Groepsbeleid. U ziet dat de gebeurtenis twee indelingen heeft.
In versie 0 is het veld IsMachine een Booleaanse waarde. In versie 1 is het veld IsMachine een niet-ondertekend geheel getal.
(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.
De eigenschap Description bevat het bericht dat naar het gebeurtenislogboek wordt geschreven. De %3
- en %1
-waarde zijn tijdelijke aanduidingen voor de waarden die zijn doorgegeven aan de sjabloon. De %3
tekenreeks wordt vervangen door de waarde die wordt doorgegeven aan het veld PrincipalSamName. De %1
tekenreeks wordt vervangen door de waarde die wordt doorgegeven aan het veld PolicyElaspedTimeInSeconds.
Voorbeeld 3: een nieuwe gebeurtenis maken met behulp van een geversiede sjabloon
In dit voorbeeld ziet u hoe u een gebeurtenis maakt met behulp van een specifieke sjabloonversie.
$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
Als de waarden in de nettolading niet overeenkomen met de typen in de sjabloon, wordt de gebeurtenis geregistreerd, maar bevat de nettolading een fout.
Parameters
-Id
Hiermee geeft u een gebeurtenis-id op die is geregistreerd in de gebeurtenisprovider.
Type: | Int32 |
Position: | 1 |
Default value: | None |
Vereist: | True |
Pijplijninvoer accepteren: | False |
Jokertekens accepteren: | False |
-Payload
De nettolading is een matrix met waarden die als positionele argumenten worden doorgegeven aan de gebeurtenissjabloon. De waarden worden in de sjabloon ingevoegd om het bericht voor de gebeurtenis samen te stellen. Gebeurtenissen kunnen meerdere sjabloonversies hebben die verschillende indelingen gebruiken.
Als de waarden in de nettolading niet overeenkomen met de typen in de sjabloon, wordt de gebeurtenis geregistreerd, maar bevat de nettolading een fout.
Type: | Object[] |
Position: | 2 |
Default value: | None |
Vereist: | False |
Pijplijninvoer accepteren: | False |
Jokertekens accepteren: | False |
-ProviderName
Hiermee geeft u de gebeurtenisprovider op die de gebeurtenis naar een gebeurtenislogboek schrijft, zoals 'Microsoft-Windows-PowerShell'. Een ETW-gebeurtenisprovider is een logische entiteit die gebeurtenissen naar ETW-sessies schrijft.
Type: | String |
Position: | 0 |
Default value: | None |
Vereist: | True |
Pijplijninvoer accepteren: | False |
Jokertekens accepteren: | False |
-Version
Hiermee geeft u het versienummer van de gebeurtenis. PowerShell converteert het getal naar het vereiste bytetype. De waarde geeft de versie van de gebeurtenis op wanneer verschillende versies van dezelfde gebeurtenis worden gedefinieerd.
Type: | Byte |
Position: | Named |
Default value: | None |
Vereist: | False |
Pijplijninvoer accepteren: | False |
Jokertekens accepteren: | False |
Invoerwaarden
None
U kunt geen objecten doorsluisen naar deze cmdlet.
Uitvoerwaarden
None
Deze cmdlet retourneert geen uitvoer.
Notities
Nadat de provider de gebeurtenis naar een gebeurtenislogboek heeft geschreven, kunt u de cmdlet Get-WinEvent
gebruiken om de gebeurtenis op te halen uit het gebeurtenislogboek.