Public/Get-Parameters.ps1
function Get-Parameters { [CmdletBinding()] Param ( [Parameter(Mandatory,ValueFromPipeline)] [string]$Function ) begin { $Parameters = @() $Common = @( 'Debug', 'ErrorAction', 'ErrorVariable', 'InformationAction', 'InformationVariable', 'OutVariable', 'OutBuffer', 'PipelineVariable', 'Verbose', 'WarningAction', 'WarningVariable', 'WhatIf', 'Confirm' ) } process { try { $Params = (Get-Command $Function).Parameters | Select-Object -ExpandProperty Keys } catch { Write-TSWarning $_ -Verbose:$VerbosePreference throw } $Params | Where-Object { if (!$Common.Contains($_)) { $Name = $_ $Help = Get-Help $Function -Parameter $_ $Desc = $Help.Description.Text $Parameters += [PSCustomObject]@{ Name = $Name Description = $Desc } } } } end { Write-Output $Parameters } } |