gpt4 book ai didi

powershell - 您可以在 PowerShell v2 脚本中设置对象的 DefaultDisplayPropertySet 吗?

转载 作者:行者123 更新时间:2023-12-04 07:47:14 25 4
gpt4 key购买 nike

这是 Kirk Munro 的一篇博客文章,解释了脚本如何在其输出对象上设置 DefaultDisplayPropertySet:

Essential PowerShell: Define default properties for custom objects

他的技术和示例代码在 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)。

最佳答案

你能举一个你的非工作代码的例子吗?这应该在 v2 中完美运行,如果不是,则您发现了一个错误。

更新:

(删除了关于引用的评论)

我已经与 powershell 团队确认这确实是一个回归(错误)。

您可以在此处对该问题的重要性进行投票:

https://connect.microsoft.com/PowerShell/feedback/ViewFeedback.aspx?FeedbackID=487938

谢谢,

-Oisin
(PowerShell MVP)

关于powershell - 您可以在 PowerShell v2 脚本中设置对象的 DefaultDisplayPropertySet 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1369542/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com