当我们在执行一个函数时,可以使用输入参数的值,但我在PowerShell中,参数有的是必选,有的是可选,那么我们怎么知道用户真实的输入了哪些参数呢?
在PowerShell函数中,有一个全局变量$PSBoundParameters,它是一个Hash表,里面保存了所有的输入参数和输入参数的值。通过输出这个变量,我们就可以看到所有的输入参数了。
function Get-Parameter {
param
(
$Name,
$LastName=’Default’,
$Age,
$Id
)
$PSBoundParameters
}
这个函数定义了四个参数,用户可以随意选择参数进行输入,那么,我们就使用$PSBoundParameters这个变量来获取输入参数列表。
执行的情况如下:
PS> Get-Parameter
PS> Get-Parameter -Name test -Id 12
Key Value
--- -----
Name test
Id 12
大家可以看到,同样是调用这个函数,没有输入参数时,输出结果为空。输入了参数时,参数名和参数值被原样输出。
关于PowerShell函数获取输入参数列表($PSBoundParameters),本文就介绍这么多,希望对您有所帮助,谢谢!