Validation Attributes in PowerShell ...Eh! I use them like everyday when I script.......But I noticed this thing recently. So suppose I have a sample function below: Now as you see it's nothing fancy..so just run it PS C:\> Test-ValidateRange -Param1 8 Param1 = 8 The variable cannot be validated because the value 11 is not a valid value for the Param1 variable. At line:19 char:5 + $Param1 = 11 + ~~~~~~~~~~~~ + CategoryInfo : MetadataError: (:) [], ValidationMetadataException + FullyQualifiedErrorId : ValidateSetFailure Param1 = 8 PS C:\> It seems that the validation attribute not only just run at the time when you first call the function ..but once you have defined a validation attribute on a parameter then through the lifetime of that variable/parameter if you do assign a new value to it then the validation attribute run against it ..thus guaranteeing that it has the value you wanted. To better see it you can save the file ...
Infra + Dev's ramblings