PowerShell Studio 2014: Function Builder

PowerShell Studio 2014 introduces a quick and easy way to create complex functions using the new Function Builder:


Let’s cover each field of the Function Builder and how to create a function.

Cmdlet Name

The function builder provides you with a verb and noun field. The verb field contains a combo box with a list of approved verbs, but you have the option to enter your own unapproved verb if necessary.


Synopsis & Description

You have the option to enter a quick synopsis and a longer description using these fields. The information provided here will be used to generate the function’s comment-based help.

Cmdlet Binding

Check the “Enable Cmdlet Binding” option if you want your function to behave like a cmdlet and take advantage of PowerShell’s built-in parameters such as Debug and Verbose and/or process input from the pipeline.

This option will add the [CmdlingBinding] attribute to your function:

function Get-Noun {
    [CmdletBinding(SupportsShouldProcess = $true)]
    param ()
    if ($pscmdlet.ShouldProcess("Target", "Operation")) {

You can set the cmdlet binding attributes by using the properties grid:


The property grid provides a help description of each attribute.


Parameter Sets

The function builder allows you to specify multiple parameter sets, including a default.


Once you define a parameter set, you can assign it to each individual parameter.

Output Type

You can specify the output type of the function and the appropriate attribute will be added:

function Get-Noun {
    param ()


The output type field also allows you to select from existing types:


The output type field also provides code completion for namespaces and types.


The function builder makes adding a parameter as simple as typing in a name:


The grid of parameters, allows you to mark the parameter as mandatory, provide a name, parameter type and assign a property set. If needed, you can press the Details button or press (Ctrl + E) to open the parameter editor for more advanced settings.


Parameter Editor

Pressing the New Parameter button or the Details button will bring up the parameter editor:


Use the parameter editor dialog to edit the details of a specific parameter such as adding validation and aliases.

Parameter Name:

Use this field to change the name of the parameter.


The description of the parameter that will appear in the help comment.


(Optional) Provides an alternative name for the parameter.


Specify the object type of the parameter. Checking the “Switch Parameter” will make the parameter a switch parameter. This is the same as typing “switch” in the type field.


In the settings you set the parameter’s attributes, such as marking the parameter as mandatory.


A helpful description is displayed in when editing a parameter attribute.


The parameter editor also allows you to apply validation attributes to the parameter. Using the Add button you can select and add a validation type and in turn it will be added to the validation list:


Once added, you can modify the validation attribute using the property grid:



Parameter Set:

You can also set the parameter’s parameter set assignment with in the parameter editor:



Once you have added all the parameters and entered the information required, press the OK button in the Function Builder dialog. Now you have an advanced function ready to go:


The function builder is a time saver and a learning tool for those who may not be familiar with the intricacies of creating an advanced function.