Invoke-PefCustomAction

Creates a PEF action that runs a script block.

Syntax

Invoke-PefCustomAction
      [-Script] <ScriptBlock>
      [-Trigger <Trigger[]>]
      [<CommonParameters>]

Description

The Invoke-PefCustomAction cmdlet creates a Protocol Engineering Framework (PEF) action that runs a Microsoft PowerShell script block. Specify a script block to run and a trigger for the action.

Examples

Example 1: Create an ICMP trigger action

PS C:\> $T = New-PefKeyDownTrigger -CtrlC
PS C:\> $Sb = { $Host.UI.WriteErrorLine("ICMP found") }
PS C:\> $S = New-PefTraceSession -Mode Linear -SaveOnStop -Path "C:\Traces\Simple" -Force -SaveAsParsed
PS C:\> Add-PefMessageSource -PEFSession $S -Source Microsoft-Pef-WFP-MessageProvider
PS C:\> $T2 = New-PefMessageTrigger  -PEFSession $S -Filter "ICMP" -Repeat
PS C:\> Invoke-PefCustomAction -Script $Sb -Trigger $T2
PS C:\> Stop-PefTraceSession -PEFSession $S -Trigger $T
PS C:\> Start-PefTraceSession -PEFSession $S

This command creates a script block, stored in the variable $Sb, that Invoke-PefCustomAction runs when the trigger criteria matches. The New-PefMessageTrigger cmdlet defines the trigger by specifying a filter for ICMP. When the trigger matches, the script block runs, which displays the message ICMP found.

Parameters

-Script

Specifies a script block to invoke. For more information about script blocks, type Get-Help about_script_blocks.

Type:ScriptBlock
Position:0
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-Trigger

Specifies an array of Trigger objects. When one of these triggers runs, the action runs the script block specified by the Script parameter.

Type:Trigger[]
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False