当我们尝试通过管道将数据导出到其他函数时,我们在PowerShell中观察到一些奇怪的行为。
示例代码:
$Array = @()
$Obj1 = [PSCustomObject]@{
Member1 = 'First'
Member2 = 'Second'
}
$Obj2 = [PSCustomObject]@{
Member1 = 'First'
Member2 = 'Second'
Member3 = 'Third'
}
$Array = $Obj1, $Obj2
$Array | Out-GridView -Title 'Not showing Member3'
$Array = $Obj2, $Obj1
$Array | Out-GridView -Title 'All members correctly displayed'
在上面的示例中,您可以看到,当第一个对象仅包含2时,即使第二个对象具有3 properties,Out-GridViewCmdLet(和其他对象)也仅显示2 。但是,当数组中的第一个对象包含3个对象时,它会正确显示所有对象。propertiespropertiesproperties
有没有解决的办法?因为无法预先预测properties某个对象上将有多少个对象,以及最多的对象properties将是中的第一个对象array。
相关分类