1

PowerShell 3.0 为我们提供了 PSCustomObject 作为允许正确表格格式的类型,如下所示:

> [PSCustomObject]@{ Day = "Monday"; Task = "Wash car" }

Day     Task
---     ----
Monday   Wash car

(见http://blogs.microsoft.co.il/blogs/scriptfanatic/archive/2012/04/13/Custom-objects-default-display-in-PowerShell-3-0.aspx

但是如果我通过一个变量,它会恢复到愚蠢的模式。

> [PSCustomObject]$row = @{ Day = "Monday"; Task = "Wash car" }
> $row

Name    Value
---     ----
Task    Wash car
Day     Monday

为什么?(谢谢)

4

1 回答 1

1

几乎立刻就解决了。

[PSCustomObject]$row = [PSCustomObject]@{ Day = "Monday"; Task = "Wash car" }

实际上,我正在创建一个哈希表并将其转换为 PSCustomObject。仍然不完全确定为什么哈希表键没有变成像 .NET 4.0 DLR ExpandoObject 这样的属性。

用 C# 编写 CmdLets 要好得多。

于 2013-02-19T21:40:57.863 回答