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

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


$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


$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.