如何将所有参数传递给函数(与可选的$ args相比)

ale*_*2k8 22 powershell arguments

$ args仅返回可选参数.如何获取所有功能参数?

Kei*_*ill 27

$ PSBoundParameters获取所有与哈希表中绑定值"绑定"的参数,它不会获得可选/额外参数.这就是$ args的用途.AFAICT获得你想要的唯一方法是将两者结合起来:

$allArgs = $PsBoundParameters.Values + $args
Run Code Online (Sandbox Code Playgroud)


Jas*_*her 23

$ args返回任何未声明的参数,而不是可选参数.所以只是不要声明参数.

在PowerShell v2中,您可以使用$ PSBoundParameters以结构化方式获取所有参数.