PowerShell函数中使用$PSBoundParameters获取输入参数列表实例

本文介绍在自定义PowerShell函数时,有一个$PSBoundParameters的变量可以获取到输入参数列表。获取输入参入列表对我们进行功能调试有很大的帮助。

当我们在执行一个函数时,可以使用输入参数的值,但我在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),本文就介绍这么多,希望对您有所帮助,谢谢!