Use Splatting, Proxy, and Metadata in Powershell Splatting is the ability to use a dictionary or a list to supply parameters to a command. Example: $MailMessage = @{ To = “me@mycompany.com ” From = “me@mycompany.com ” Subject = “Hi” Body = “Hello” Smtpserver = “smtphost” ErrorAction = “SilentlyContinue” } Send-MailMessage @MailMessage Proxy commands are wrappers of existing commands in Windows PowerShell, and to make this possible, a number of different things had to be enabled in the language that can have interesting other uses. Metadata provides information about the command and parameters of different commands, and provides a structure that you can use to “write” a command without typing out the whole script. https://blogs.technet.microsoft.com/heyscriptingguy/2010/10/18/use-splatting-to-simplify-your-powershell-scripts/