New-WinEvent

Creates a new Windows event for the specified event provider.

Syntax

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

Description

The New-WinEvent cmdlet creates an Event Tracing for Windows (ETW) event for an event provider. You can use this cmdlet to add events to ETW channels from PowerShell.

Examples

Example 1

PS C:\> New-WinEvent -ProviderName Microsoft-Windows-PowerShell -Id 45090 -Payload @("Workflow", "Running")

This command uses the New-WinEvent cmdlet to create event 45090 for the Microsoft-Windows-PowerShell provider.

Parameters

-Id

Specifies an event id that was registered through an instrumentation manifest.

Type:Int32
Position:1
Default value:None
Accept pipeline input:False
Accept wildcard characters:False
-Payload

Specifies the message for the event. When the event is written to an event log, the payload is stored in the Message property of the event object.

When the specified payload does not match the payload in the event definition, PowerShell generates a warning, but the command still succeeds.

Type:Object[]
Position:2
Default value:None
Accept pipeline input:False
Accept wildcard characters:False
-ProviderName

Specifies the event provider that writes the event to an event log, such as "Microsoft-Windows-PowerShell". An ETW event provider is a logical entity that writes events to ETW sessions.

Type:String
Position:0
Default value:None
Accept pipeline input:False
Accept wildcard characters:False
-Version

Specifies the version number of the event. Type the event number. PowerShell converts the number to the required Byte type.

This parameter lets you specify an event when different versions of the same event are defined.

Type:Byte
Position:Named
Default value:None
Accept pipeline input:False
Accept wildcard characters:False

Inputs

None

This cmdlet does not take input from the pipeline.

Outputs

None

This cmdlet does to generate any output.

Notes

  • After the provider writes the even to an eventlog, you can use the Get-WinEvent cmdlet to get the event from the event log.