Write-FormatControl.ps1
function Write-FormatControl { <# .Synopsis Writes the Format XML for a Control .Description Writes the .format.ps1xml for a custom control. Custom Controls can be reused throughout the formatting file. .Example .Link Write-FormatCustomView #> param( # The name of the control [Parameter(Mandatory=$true,ValueFromPipelineByPropertyName=$true)] [String]$Name, <# The script block used to fill in the contents of a custom control. The script block can either be an arbitrary script, which will be run, or it can contain a series of Write-FormatViewExpression commands. If the ScriptBlock contains Write-FormatViewExpression, code in between Write-FormatViewExpression will not be included in the formatter #> [Parameter(Mandatory=$true,ValueFromPipelineByPropertyName=$true)] [Alias('ScriptBlock', 'DefaultAction')] [ScriptBlock]$Action ) process { $Splat = $PSBoundParameters | & ${?@} -Command Write-FormatCustomView $Splat.AsControl = $true $splat | & ${.@} } } |