Summary
Attributes can be set on parameters in PowerShell to quickly and easily define behavior, acceptable values, and usage for a parameter. These attributes greatly simplify the validation that may be required in the body of a script or function.
PowerShell comes with a wide range of built-in validators, and each of the existing validators is briefly demonstrated in this chapter. As well as validation, extra controls can be placed around the content of a parameter, such as whether empty strings or collections may be used as a value.
The Parameter
attribute is incredibly important in PowerShell as it allows pipeline input support to be declared for a parameter, and for parameters to be placed in different parameter sets.
Argument completers have changed a great deal as PowerShell has progressed through each version. In PowerShell 5 and above, you can use the ArgumentCompleter
attribute and the Register-ArgumentCompleter
command to add tab completion support to a parameter...