5

電子メールに含めるために、スクリプトに渡されたパラメーターの値を出力したいと思います。

私はこれを試しました:

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

しかし、うまくいきませんでした。誰か手を貸してくれませんか?

4

2 に答える 2

8

$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
于 2012-04-26T07:59:13.053 に答える
0
function test 
{
    param($a, $b)

    $psboundparameters.Values
    $psboundparameters.Keys
}


test "Hello" "World"
于 2012-04-26T07:51:10.213 に答える