我有函数,每个函数都返回一个返回码。 我想输出以下内容:
function ReturnCode
-------- ----------
wrapkey 255
mapkey 233
delkey 0
我试过了:
$Outarray = @()
$Outarray += $_.SetProperty("WrapKey") | select "WrapKey", ReturnCode
$Outarray += $_.SetProperty("MapKey") | select "MapKey", ReturnCode
$Outarray | Format-Table
我该怎么做?
答案 0 :(得分:2)
您正在寻找计算属性,其语法如下:
@{Name='Name of resulting property';Expression={<# actual value calculation goes here#>}}
因此,对于您想要的结果(每个SetProperty()
调用一个对象),就像这样:
$_.SetProperty('WrapKey') | Select-Object @{Name='Function';Expression={'WrapKey'}},@{Name='ReturnCode';Expression={$_}}
然后重复MapKey
和DelKey
。由于只有属性名称不同,您可以将它们放入循环中:
$OutputCodes = foreach($Name in 'WrapKey','MapKey','DelKey'){
$_ | Select-Object @{Name='Function';Expression={$Name}},@{Name='ReturnCode';Expression={$_.SetProperty($Name)}}
}