自定义输出PsObject

时间:2016-02-15 11:37:39

标签: powershell formatting powershell-v2.0 powershell-v3.0

这是我的代码

$Return = New-Object PSObject

Add-Member -InputObject $Return -MemberType NoteProperty -Name Source -Value "Test1"
Add-Member -InputObject $Return -MemberType NoteProperty -Name FileMQ -Value "Test2"
Add-Member -InputObject $Return -MemberType NoteProperty -Name Listener -Value "Test3"

我想像这样输出$ Return:

Source : Test1 | FileMQ : Test2 | Listener : Test3

我知道我可以这样做:

"Source : $($return.Source) | FileMQ : $($return.FileMQ) | Listener : $($return.Listener)" 

但我确信有更多自动和有效的方式...因为如果我有太多的成员,那将是困难的。任何人都可以帮助我吗?

我正在使用Powershell V4。

由于

1 个答案:

答案 0 :(得分:1)

您可以访问隐藏的psobject memberset属性来枚举对象的所有属性并构造字符串,如下所示:

($Return.psobject.Properties |% { '{0} : {1}' -f $_.Name,$_.Value }) -join ' | '