PowerShell 技能连载 - 在 Grid View 窗口中垂直显示数据

Out-GridView 总是以每个对象一行的方式生成表格:

1
Get-Process -Id $pid | Out-GridView

有些时候,在 grid view 窗口中垂直显示对象属性,每个属性一行,更有用。

要做到这个效果,请看看 Flip-Object:这个函数输入对象,并将它们按每个属性分割成独立的键-值对象。它们可以通过管道导到 Out-GridView 中。通过这种方式,对象属性可以以更详细的方式查看:

1
Get-Process -Id $pid | Flip-Object | Out-GridView

以下是 Flip-Object 函数的实现:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
function Flip-Object
{
param
(
[Object]
[Parameter(Mandatory=$true, ValueFromPipeline=$true)]
$InputObject
)
process
{

$InputObject |
ForEach-Object {
$instance = $_
$instance |
Get-Member -MemberType *Property |
Select-Object -ExpandProperty Name |
ForEach-Object {
[PSCustomObject]@{
Name = $_
Value = $instance.$_
}
}
}

}
}

PowerShell 技能连载 - 在 Grid View 窗口中垂直显示数据

http://blog.vichamp.com/2017/12/12/displaying-data-in-a-grid-view-window-vertically/

作者

吴波

发布于

2017-12-12

更新于

2022-07-06

许可协议

评论