我想输出已经传递给我的脚本的任何参数的值,以包含在电子邮件中。
我试过这个:
foreach ($psbp in $PSBoundParameters)
{
$messageBody += $psbp | out-string + "`r`n"
}
但它没有用。有人可以帮我一把吗?
答案 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"