Splatting is a technique that was introduced all the way back in PowerShell 2. Splatting is a way of defining the parameters of a command before calling the command. This is an important and often underrated technique.
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 may be used with cmdlets, functions, and scripts. Splatting may be used when the call operator is present, for example:
$getProcess...