自定义输出 PsObject

Custom output PsObject

这是我的代码

$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。

谢谢

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

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