【发布时间】:2020-12-20 07:09:22
【问题描述】:
我已经简化了这个过程,以便任何人都可以重现它(在我的脚本中,这是工作流程中的一个问题,不涉及任何函数,因此我无法将这些值保存在变量中,然后通过控制台显示它们)。首先是使用powershell ISE。
功能AAA { $datum1 = 新对象 -TypeName PSObject $基准1 | Add-Member -MemberType NoteProperty -Name ColumnA -Value "AA" $基准1 | Add-Member -MemberType NoteProperty -Name ColumnB -Value "BB" 返回 $datum1 } 功能 BBB { $datum2 = 新对象 -TypeName PSObject $基准2 | Add-Member -MemberType NoteProperty -Name ColumnA -Value "AA" $基准2 | Add-Member -MemberType NoteProperty -Name ColumnC -Value "CC" $基准2 | Add-Member -MemberType NoteProperty -Name ColumnD -Value "DD" $基准2 | Add-Member -MemberType NoteProperty -Name ColumnE -Value "EE" $基准2 | Add-Member -MemberType NoteProperty -Name ColumnF -Value "FF" 返回 $datum2 } AAA BBB输出:
A 列 B 列 -------- -------- AA BB AA知道为什么会这样吗?
编辑: 我通过以下方式解决了这个“sh1t”
功能AAA { $datum1 = 新对象 -TypeName PSObject $datum1 | Add-Member -MemberType NoteProperty -Name Index -Value "1" $基准1 | Add-Member -MemberType NoteProperty -Name ColumnA -Value "AA" $基准1 | Add-Member -MemberType NoteProperty -Name ColumnB -Value "BB" $基准1 } 功能 BBB { $datum2 = 新对象 -TypeName PSObject $datum2 | Add-Member -MemberType NoteProperty -Name Index -Value "2" $基准2 | Add-Member -MemberType NoteProperty -Name ColumnA -Value "AA" $基准2 | Add-Member -MemberType NoteProperty -Name ColumnC -Value "CC" $基准2 | Add-Member -MemberType NoteProperty -Name ColumnD -Value "DD" $基准2 | Add-Member -MemberType NoteProperty -Name ColumnE -Value "EE" $基准2 | Add-Member -MemberType NoteProperty -Name ColumnF -Value "FF" $基准2 } AAA |? {$_.Index -eq "1"} |英尺 BBB |? {$_.Index -eq "2"} |英尺无论如何,有人可以解释发生了什么吗?我很想了解原因并寻找相关信息
EDIT2:回复 Palle Due,
它对我的场景根本不起作用,因为它增加了一些复杂性。
Out-Host 不是一个选项。提供的示例:
【问题讨论】:
-
我无法解释发生了什么,但我有一些观察。 BBB 具有正确的属性,如果您之后评估 BBB,您可以看到。显然只显示了常见的属性。如果您将
ColumnB属性添加到$datum2,也会显示。如果你调用 BBB AAA,你会得到预期的输出,但不是表格。
标签: powershell