输出PSBound参数

时间:2012-04-26 06:09:35

标签: powershell parameters

我想输出已经传递给我的脚本的任何参数的值,以包含在电子邮件中。

我试过这个:

foreach ($psbp in $PSBoundParameters)
{
    $messageBody += $psbp | out-string + "`r`n"
}

但它没有用。有人可以帮我一把吗?

2 个答案:

答案 0 :(得分:5)

$ PSBoundParameters是一个哈希表,使用GetEnumerator展开其项目

foreach($psbp in $PSBoundParameters.GetEnumerator())
{
    "Key={0} Value={1}" -f $psbp.Key,$psbp.Value
}




function Get-PSBoundParameters
{
    [CmdletBinding()]    
    Param($param1,$param2,$param3)

    foreach($psbp in $PSBoundParameters.GetEnumerator())
    {
            "Key={0} Value={1}" -f $psbp.Key,$psbp.Value
    }
}


PS> Get-PSBoundParameters p1 p2 p3 | ft -a

Key=param1 Value=p1
Key=param2 Value=p2
Key=param3 Value=p3

答案 1 :(得分:0)

function test 
{
    param($a, $b)

    $psboundparameters.Values
    $psboundparameters.Keys
}


test "Hello" "World"