Out-GridView

将输出发送到单独窗口中的交互表。

语法

Out-GridView [-InputObject <psobject>] [-Title <string>] [<CommonParameters>]

说明

Out-GridView cmdlet 将命令的输出发送到网格视图窗口,在该窗口中输出显示在一个交互表中。此功能需要 Microsoft .NET Framework 3.5 Service Pack 1。

可以使用该表的以下功能来检查您的数据:

-- 隐藏、显示和重新排序列:若要隐藏、显示或重新排序某一列,请右键单击列标题,然后单击“选择列”。

-- 排序。若要对数据排序,请单击列标题。再次单击从升序切换到降序。

-- 快速筛选。使用窗口顶部的“筛选”框在表中搜索文本。可以在特定列中搜索文本,搜索文字以及搜索多个单词。

-- 条件筛选。使用“添加条件”下拉菜单来创建数据筛选规则。这对于非常大的数据集(如事件日志)非常有用。

-- 复制和粘贴。若要从 Out-GridView 复制多行数据,请按 Ctrl+C(复制)。可以将该数据粘贴到任何文本或电子表格程序。

若要获得这些功能的使用说明,请键入“get-help out-gridview -full”,然后在“注释”部分查看“如何使用网格视图窗口功能”。

参数

-InputObject <psobject>

接受 Out-GridView 的输入。

如果使用 InputObject 参数将对象集合(多个对象)发送到 Out-GridView,则 Out-GridView 将该集合视为一个集合对象,显示一行来表示该集合。若要显示该集合中的每个对象,请使用管道运算符 (|) 将对象发送到 Out-GridView。

是否为必需?

false

位置?

named

默认值

是否接受管道输入?

true (ByValue)

是否接受通配符?

false

-Title <string>

指定出现在 Out-GridView 窗口标题栏中的文本。

默认情况下,标题栏显示调用 Out-GridView 的命令。

是否为必需?

false

位置?

named

默认值

当前命令

是否接受管道输入?

false

是否接受通配符?

false

<CommonParameters>

此 cmdlet 支持通用参数:-Verbose、-Debug、-ErrorAction、-ErrorVariable、-OutBuffer 和 -OutVariable。有关详细信息,请参阅 about_Commonparameters.

输入和输出

输入类型是指可通过管道传递给 cmdlet 的对象的类型。返回类型是指 Cmdlet 所返回对象的类型。

输入

System.Management.Automation.PSObject

可以将任何对象发送到 Out-GridView。

输出

Out-GridView 不返回任何对象。

说明

OUT-GRIDVIEW 的注释

----------------------

可以从 Microsoft 下载中心下载 Microsoft .NET Framework 3.5 Service Pack 1。

因为此 cmdlet 需要用户界面,所以它无法在 Windows Server 的 Server Core 安装上运行。

不能使用远程命令来打开远程计算机上的网格视图窗口。

发送的命令输出不能进行预先格式化,例如通过使用 Format-TableFormat-Wide cmdlet 进行格式化。若要选择属性,请使用 Select-Object cmdlet。

在网格视图窗口中,可能无法对来自远程命令的反序列化输出正确进行格式设置。

OUT-GRIDVIEW 的键盘快捷方式

-----------------------------------

通过使用下列键盘快捷方式,可以快速执行许多任务。

使用此键: 执行此操作:

------------- ----------------------------------------------------------------

Tab 将光标从“筛选”框移动到表的“添加条件”菜单,然后再返回。

向上键 上移一行。将移至列标题。

向下键 下移一行。

向左键 在列标题行中,左移一列。

向右键 在列标题行中,右移一列。

上下文菜单键 在列标题行中显示“选择列”选项。

Enter 或空格键 在列标题行中,对列数据排序(切换 A-Z、Z-A)。

如何使用网格视图窗口功能

----------------------------------------

以下主题说明如何使用 Out-GridView 显示的窗口的功能。

如何隐藏、显示和重新排序列

--------------------------------------

隐藏或显示列:

1. 在列标题中的任何位置单击右键,然后单击“选择列”。

2. 在“选择列”对话框中,使用箭头键将“选定的列”中的列移动到“可用的列”框。只有“选定的列”框中的列才显示在网格视图窗口中。

对列重新排序:

-- 将列拖放到所需位置上。

- 或者 -

1. 在列标题中的任何位置单击右键,然后单击“选择列”。

2. 在“选择列”对话框中,使用“向上移动”和“向下移动”按钮对列重新排序。列表顶部的列显示在网格视图窗口中列表底部的列的左侧。

如何对表数据排序

----------------------

-- 若要对数据排序,请单击列标题。

-- 若要更改排序顺序,请再次单击该列标题。每次单击同一标题时,排序顺序都在升序和降序之间切换。当前顺序由列标题中的三角形来指示。

如何选择表数据

------------------------

-- 若要选择行,请单击该行或使用向上或向下键导航到该行。

-- 若要选择所有行(除了标题行),请按 Ctrl+A。

-- 若要选择连续行,请在单击这些行或使用箭头键时按住 Shift 键。

-- 若要选择非连续行,请按住 Ctrl 键并单击某行将其选中。

不能选择列,也不能选择整个列标题行。

如何复制行

----------------------

-- 若要复制表中的一个或多个行,请选择该行,然后按 Ctrl+C。

可以将该数据粘贴到任何文本或电子表格程序。无法复制列或行的一部分,并且无法复制列标题行。

如何在表中搜索(快速筛选)

---------------------------------

使用“筛选”框搜索表中的数据。当您在该框中键入文本时,将仅在表中显示包括所键入文本的项目。

-- 搜索文本。若要在表中搜索文本,请在“筛选”框中键入要查找的文本。

-- 搜索多个单词。若要在表中搜索多个单词,请键入单词,使用空格来分隔。Out-GridView 显示包括所有单词(逻辑 AND)的行。

-- 搜索文字短语。若要搜索包括空格或特殊字符的短语,请使用引号将该短语括起来。Out-GridView 显示包括该短语的精确匹配项的行。

-- 在列中搜索。若要在一个或多个列中搜索文本,请使用以下格式:

<column>:<text> [<column>:<text>] ...

例如,若要在 DisplayName 列中查找“Net”,请在“筛选”框中键入:

displayname:net

若要在 DisplayName 和 Name 列中查找包含“Net”的行,请在“筛选”框中键入:

displayname:net name:net

-- 禁用搜索。若要重新显示整个表,请单击“筛选”框右上角的红色 X 按钮或删除“筛选”框中的文本。

使用条件来筛选表

--------------------------------

可以使用规则或“条件”来确定要在表中显示的项。项仅在满足设立的所有条件时才会显示。可用的条件由网格视图窗口中显示的对象的属性以及这些属性的 .NET Framework 类型来确定。

每个条件具有以下格式:

<列> <运算符> <值>

不同属性的条件通过 AND 来连接。相同属性的条件通过 OR 来连接。无法更改逻辑连接符。

条件仅影响显示。它不会从表中删除项目。

如何添加条件

---------------------------

1. 若要显示“添加条件”菜单按钮,请在窗口的右上角单击“展开”箭头。

2. 单击“添加条件”菜单按钮。

3. 单击以选择列(属性)。可以选择一个或多个属性。

4. 选择完属性后,单击“添加”按钮。

5. 若要取消添加,请单击“取消”。

6. 若要添加更多条件,请再次单击“添加条件”按钮。

如何编辑条件

--------------------

-- 若要更改运算符,请单击蓝色运算符值,然后单击以从

下拉列表中选择其他运算符。

-- 若要输入或更改值,请在值框中键入一个值。如果输入的值无效,则会出现一个圆形 X 图标。若要删除该图标,请更改该值。

-- 若要创建 OR 语句,请添加具有同一属性的条件。

如何删除条件

-------------------------

-- 若要删除选定的条件,请单击每个条件旁边的红色 X。

-- 若要删除所有条件,请单击“全部清除”按钮。

示例 1

C:\PS>get-process | out-gridview

说明
-----------
此命令获取本地计算机上运行的进程并将它们发送到网格视图窗口。





示例 2

C:\PS>$p = get-process

C:\PS> $p | out-gridview

说明
-----------
此命令也获取本地计算机上运行的进程并将它们发送到网格视图窗口。

第一个命令使用 Get-Process 命令获取计算机上的进程,然后将进程对象保存在 $p 变量中。

第二个命令使用管道运算符将 $p 变量发送至 Out-GridView。





示例 3

C:\PS>get-process | select-object -property name, workingset, peakworkingset | sort-object -property workingset -desc | out-gridview

说明
-----------
此命令在网格视图窗口中显示格式化的表。

它使用 Get-Process cmdlet 获取计算机上的进程。

然后,它使用管道运算符 (|) 将进程对象发送到 Select-Object cmdlet。该命令使用 Select-Object 的 Property 参数选择要在表中显示的 Name、WorkingSet 和 PeakWorkingSet 属性。

另一个管道运算符将筛选的对象发送到 Sort-Object cmdlet,该 cmdlet 按 WorkingSet 属性的值对这些对象进行降序排序。


该命令的最后部分使用管道运算符 (|) 将格式化的表发送到 Out-GridView。

现在可以使用网格视图的功能来对数据进行搜索、排序和筛选。





示例 4

C:\PS>($a = get-childitem -path $pshome -recurse) | out-gridview

说明
-----------
此命令将其输出保存在一个变量中并将该输出发送到 Out-GridView。

该命令使用 Get-ChildItem cmdlet 获取 Windows PowerShell 安装目录及其子目录中的文件。安装目录的路径保存在 $pshome 自动变量中。

该命令使用赋值运算符 (=) 将输出保存在 $a 变量中,使用管道运算符 (|) 将输出发送到 Out-GridView。
命令中的括号确定操作的顺序。结果,Get-ChildItem 命令的输出先保存在 $a 变量中,然后发送到 Out-GridView。





示例 5

C:\PS>get-process -computername Server01| ogv -title "Processes - Server01"

说明
-----------
此命令在网格视图窗口中显示 Server01 计算机上运行的进程。

该命令使用“ogv”(即 Out-GridView cmdlet 的内置别名),并使用 Title 参数指定窗口标题。





示例 6

C:\PS>invoke-command -ComputerName S1, S2, S3 -scriptblock {get-culture} | out-gridview

说明
-----------
此示例说明将从远程计算机收集的数据发送到 Out-GridView cmdlet 的正确格式。

该命令使用 Invoke-Command cmdlet 在三台远程计算机上运行 Get-Culture 命令。它使用管道运算符将返回的数据发送至 Out-GridView cmdlet。

请注意,包含远程运行的命令的脚本块不包括 Out-GridView 命令。如果该脚本块包括该命令,则当该脚本块尝试在每台远程计算机上打开网格视图窗口时,该命令将会失败。