Functions

View saved

Define a simple function

Call it by name like a cmdlet.

function Get-Greeting {
  param([string]$Name = "world")
  "Hello, $Name"
}

Get-Greeting -Name "Ada"

Return objects

Prefer returning objects over only printing when callers need to pipe further.

function Get-Square {
  param([int]$Number)
  [pscustomobject]@{ Number = $Number; Square = $Number * $Number }
}

Get-Square -Number 4

CmdletBinding basics

Add common parameters like -Verbose as you grow.

function Write-Step {
  [CmdletBinding()]
  param([string]$Message)
  Write-Verbose $Message
  Write-Output $Message
}

Put functions in scripts

Save functions in .ps1 files and dot-source them while learning, or organize modules later.

Comments

One comment per signed-in account. Comments are saved with this page’s URL.