这是 Kirk Munro 的一篇博客文章,解释了脚本如何在其输出对象上设置 DefaultDisplayPropertySet:
他的技术和示例代码似乎不适用于 PowerShell v2。(注意,我安装了 PowerTab 和 PSCX ——也许它们可能会产生干扰。)
任何人都知道如何让它在 PowerShell v2 上工作?
更新:这是博客文章中的示例,它对我不起作用(注意,我已经更正了单引号字符):
$myObject = New-Object PSObject
$myObject | Add-Member NoteProperty Name 'My Object'
$myObject | Add-Member NoteProperty Property1 1
$myObject | Add-Member NoteProperty Property2 2
$myObject | Add-Member NoteProperty Property3 3
$myObject | Add-Member NoteProperty Property4 4
$myObject | Add-Member NoteProperty Property5 5
$myObject
## Output:
# Name : My Object
# Property1 : 1
# Property2 : 2
# Property3 : 3
# Property4 : 4
# Property5 : 5
$defaultProperties = @('Name','Property2','Property4')
$defaultDisplayPropertySet = New-Object System.Management.Automation.PSPropertySet('DefaultDisplayPropertySet',[string[]]$defaultProperties)
$PSStandardMembers = [System.Management.Automation.PSMemberInfo[]]@($defaultDisplayPropertySet)
$myObject | Add-Member MemberSet PSStandardMembers $PSStandardMembers
$myObject
## Output:
# Name : My Object
# Property1 : 1
# Property2 : 2
# Property3 : 3
# Property4 : 4
# Property5 : 5
添加 DefaultDisplayPropertySet 后的输出不应相同(即,它应该只有 Name、Property2 和 Property4)。