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.

Comment Based Help










-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




Properly set up to handle -whatif's


comments on every line explaining how it functions

Begin-Process-End sections






Some relevant links to marking up PowerShell scripts
WTFM: Writing the Fabulous Manual:
PowerShell Readability:
Defining Parameters:


Popular posts from this blog

SCCM PXE Boot Issues - No Advertisements Found

SCCM PXE Boot Issues - UEFI and Secure Boot

Application Doesn't Install During OSD Task Sequence in SCCM