Powershell输出格式

时间:2014-03-26 05:04:08

标签: powershell

我正在制作一个PowerShell对象,如下所示:

$innerObj = New-Object PSObject

$innerObj | Add-Member -MemberType NoteProperty -Name "Arr" -Value @(1,2,3)

$outerObj = New-Object PSObject

$outerObj | Add-Member -MemberType NoteProperty -Name "Outer" -Value $innerObj

现在,当我使用Write-Output(Piping to Format-List)打印$ outerObj时,它显示了这个:

outer : @{arr=System.Object[]}

为什么显示System.Object []。当我执行$ outerObj.outer时,我可以看到数组的元素,但我想在没有这个System.Object []的情况下打印整个对象。我怎样才能做到这一点?这不应该是阵列吗?我错过了什么吗?

1 个答案:

答案 0 :(得分:0)

可以使用自定义格式执行此操作:

$innerFormat = @{Name="inner";Expression={$_.outer.Arr}}
$outerObj | select $innerFormat  | fl

inner : {1, 2, 3}

or
$outerObj | fl $innerFormat

但我不知道这是正确的方式还是有更好的方法。