Showing posts from February, 2020

Checklist for PowerShell Commandlets/Functions

When I write PowerShell functions, I like to make them as complete as possible. That includes leaving comment based help and adding support for as many use cases as possible. Here is a checklist of items I have found it useful to add to functions in order to make them as native and intuitive as possible.  Capability Present Comment Based Help -Synopsis -Description -Parameter(Multiples) -Example(Multiples) -Link(Multiples) -Notes(Authorship) -Outputs -Inputs Parameters -mandatory or not -type (String,Boolean) -can it handle multiple (String[]) -Can it be be piped to (ValueFromPipeline=$true) -Value from Pipeline by property Name(ValueFromPipelineByPropertyName=$true) -Alias (Alias("CN","Computer")) Cmdlet bindings configured -Write-Verbose -Writ