Dynamic parameters
Dynamic parameters allow a developer to define the behavior of parameters when a function or script is run, rather than hardcoding that behavior in advance in a param
block.
Dynamic parameters can be used to overcome some of the limitations inherent in a param
block. For example, it is possible to change the parameters presented by a command based on the value of another parameter. It is also possible to dynamically write validation, such as dynamically assigning a value for the ValidateSet
attribute.
Dynamic parameters remain unpopular in the PowerShell community. They are hard to define and difficult to troubleshoot, as they tend to silently fail rather than raise an error, and help cannot be provided using comment-based help.
Dynamic parameters have a named block: dynamicparam
. If you use dynamicparam
in a script or function, the implicit default blocks for a script or function cannot be used; all code must be contained within an explicitly named...