PowerShell 3 PSCustomObject通过变量以愚蠢模式显示

时间:2013-02-19 21:36:53

标签: powershell-v3.0

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

为什么呢? (感谢)

1 个答案:

答案 0 :(得分:1)

几乎立即解决了。

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

实际上,我正在创建一个哈希表并将其转换为PSCustomObject。仍然不完全确定为什么散列表键不会转换为.NET 4.0 DLR ExpandoObject等属性。

在C#中编写CmdLets要好得多。