The Parameter attribute is an optional attribute that is used to define the behavior of a parameter within a script or function. Creating an instance of the Parameter object shows the different properties that might be set:
PS> [Parameter]::new()
Position : -2147483648
ParameterSetName : __AllParameterSets
Mandatory : False
ValueFromPipeline : False
ValueFromPipelineByPropertyName : False
ValueFromRemainingArguments : False
HelpMessage :
HelpMessageBaseName :
HelpMessageResourceId :
DontShow : False
TypeId : System.Management.Automation.ParameterAttribute
A few of these properties should be ignored as they are not intended to be set directly, such as HelpMessageBaseName, HelpMessageResourceId, and...