In the previous tip we illustrated how the new "enum" keyword works in PowerShell 5.0 to set the values that are assignable to a parameter. This has two backdraws: it works in PowerShell 5.0 only, and the enum needs to be declared before you can run the function.

If all you want is limiting choices, you can use a ValidateSet attribute instead. It is supported in older PowerShell versions and part of the function code:

#requires -Version 2
function Select-City
  "You chose $City"

ValidateSets provide smart IntelliSense in PowerShell ISE, just like enumerations do.

Twitter This Tip! ReTweet this Tip!