Send-Etw Trace Session

Sends the log file of the specified ETW session to a destination.

Syntax

Send-EtwTraceSession
    [-Name] <String[]>
    -DestinationFolder <String>
    [-DeleteAfterSend]
    [-CimSession <CimSession[]>]
    [-ThrottleLimit <Int32>]
    [-AsJob]
    [-WhatIf]
    [-Confirm]
    [<CommonParameters>]
Send-EtwTraceSession
    -InputObject <CimInstance[]>
    -DestinationFolder <String>
    [-DeleteAfterSend]
    [-CimSession <CimSession[]>]
    [-ThrottleLimit <Int32>]
    [-AsJob]
    [-WhatIf]
    [-Confirm]
    [<CommonParameters>]

Description

The Send-EtwTraceSession cmdlet sends the log file of the specified Event Tracing for Windows (ETW) session to a destination.

For file mode ETW sessions, the session will be updated to write to a new file and the previous file will be copied to the specified destination.

For buffering mode ETW sessions, the session will be flushed to the specified destination.

Examples

Example 1: Send a trace session to a folder

PS C:\> Send-EtwTraceSession -Name "WFP-IPsec Trace" -DestinationFolder "\\server17\traces\" -DeleteExistingFileAfterSend

This command sends an ETW trace session named WFP-IPsec Trace to the destination folder \\server17\traces. The command deletes the local copy of the original trace after it is successfully copied.

Required Parameters

-DestinationFolder

Specifies the destination for the output .etl file.

If the ETW session is a buffering mode session, this parameter must be a full file path rather than a folder.

Type: String
Aliases: RemoteShare
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
-InputObject

Specifies the input to this cmdlet. You can use this parameter, or you can pipe the input to this cmdlet.

Type: CimInstance[]
Position: Named
Default value: None
Accept pipeline input: True (ByValue)
Accept wildcard characters: False
-Name

Specifies the name of the ETW session.

Type: String[]
Position: 0
Default value: None
Accept pipeline input: True (ByPropertyName)
Accept wildcard characters: False

Optional Parameters

-AsJob

Runs the cmdlet as a background job. Use this parameter to run commands that take a long time to complete.

The cmdlet immediately returns an object that represents the job and then displays the command prompt. You can continue to work in the session while the job completes. To manage the job, use the *-Job cmdlets. To get the job results, use the Receive-Job cmdlet.

For more information about Windows PowerShell background jobs, see about_Jobs .

Type: SwitchParameter
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
-CimSession

Runs the cmdlet in a remote session or on a remote computer. Enter a computer name or a session object, such as the output of a New-CimSession or Get-CimSession cmdlet. The default is the current session on the local computer.

Type: CimSession[]
Aliases: Session
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
-Confirm

Prompts you for confirmation before running the cmdlet.

Type: SwitchParameter
Aliases: cf
Position: Named
Default value: False
Accept pipeline input: False
Accept wildcard characters: False
-DeleteAfterSend

Deletes the original file that the ETW session was writing to after the file has been copied to the destination.

Type: SwitchParameter
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
-ThrottleLimit

Specifies the maximum number of concurrent operations that can be established to run the cmdlet. If this parameter is omitted or a value of 0 is entered, then Windows PowerShell® calculates an optimum throttle limit for the cmdlet based on the number of CIM cmdlets that are running on the computer. The throttle limit applies only to the current cmdlet, not to the session or to the computer.

Type: Int32
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
-WhatIf

Shows what would happen if the cmdlet runs. The cmdlet is not run.

Type: SwitchParameter
Aliases: wi
Position: Named
Default value: False
Accept pipeline input: False
Accept wildcard characters: False

Notes

  • The return values consist of a Win32 error code and a value returned by the cmdlet. The codes have the following meanings:

  • 0: Success . New file created. Existing file copied to the destination folder. Existing file deleted, if specified.

  • 1: CreateNewFileFailed . Operation halts at this point if a new file is not created.
  • 2: CopyFileFailed . New file created.
  • 3: DeleteOldFileFailed . New file created. Existing file copied to the destination folder.