Thursday, May 5, 2011

How to get all arguments passed to function (vs. optional only $args)

$args returns only optional arguments. How can I get all function parameters?

From stackoverflow
  • $args returns any undeclared parameters, not optional parameters. So just don't declare parameters.

    In PowerShell v2, you can use $PSBoundParameters to get all parameters in a structured way.

  • $PSBoundParameters gets you all the parameters that were "bound" along with the bound values in a hashtable, it doesn't get you the optional/extra arguments. That is what $args is for. AFAICT the only way to get what you want is to combine the two:

    $allArgs = $PsBoundParameters.Values + $args
    

0 comments:

Post a Comment