Introduction to splatting
Splatting is a way of defining the parameters of a command before calling it. This is an important and often underrated technique that the PowerShell team added in PowerShell 2.
Splatting is often used to solve three potential problems in a script:
- Long lines caused by commands that need many parameters
- Conditional use of parameters
- Repetition of parameters across several commands
Individual parameters are written in a hashtable (@{}
), and then the @
symbol is used to tell PowerShell that the content of the hashtable should be read as parameters.
This example supplies the Name
parameter for the Get-Process
command, and is normally written as Get-Process -Name explorer
:
$getProcess = @{
Name = 'explorer'
}
Get-Process @getProcess
In this example, getProcess
is used as the name of the variable for the hashtable. The name is arbitrary; any variable name can be used.
Splatting can be used...