Out-GridView

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

语法

Out-GridView
   [-InputObject <PSObject>]
   [-Title <String>]
   [-PassThru]
   [<CommonParameters>]
Out-GridView
   [-InputObject <PSObject>]
   [-Title <String>]
   [-Wait]
   [<CommonParameters>]
Out-GridView
   [-InputObject <PSObject>]
   [-Title <String>]
   [-OutputMode <OutputModeOption>]
   [<CommonParameters>]

说明

此 cmdlet 仅在 Windows 平台上可用。

Out-GridView cmdlet 将输出从命令发送到网格视图窗口,在该窗口中输出将显示在一个交互式表中。

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

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

  • 对列进行隐藏、显示和重新排序
  • 对行进行排序
  • 快速筛选器
  • 添加条件筛选器
  • 复制和粘贴

有关完整说明,请参阅本文的备注部分。

注意

此 cmdlet 在 PowerShell 7 中重新引入。 此 cmdlet 仅在支持 Windows 桌面的 Windows 系统上可用。 有关此 cmdlet 的跨平台版本,请参阅 PowerShell 库中的 ConsoleGuiTools 模块。

示例

示例 1:将进程输出到网格视图

此示例将获取在本地计算机上运行的进程,并将它们发送到网格视图窗口中。

Get-Process | Out-GridView

示例 2:使用变量将进程输出到网格视图

此示例还将获取在本地计算机上运行的进程,并将它们发送到网格视图窗口中。

$P = Get-Process
$P | Out-GridView

Get-Process cmdlet 的输出保存在 $P 变量中。 然后, $P 将通过管道传递给 Out-GridView

示例 3:在网格视图中显示所选属性

本示例显示网格视图中正在运行的进程的选定属性。

Get-Process | Select-Object -Property Name, WorkingSet, PeakWorkingSet |
  Sort-Object -Property WorkingSet -Descending | Out-GridView

Get-Process 的输出通过管道传递给 Select-Object,以选择 Name、WorkingSet 和 PeakWorkingSet 属性。 另一个管道运算符将筛选的对象发送到 Sort-Object cmdlet,以便按 WorkingSet 属性的值按降序对它们进行排序。 然后,排序结果将通过管道传递给 Out-GridView。 你现在可以使用网格视图的功能搜索、排序和筛选数据。

示例 4:将输出保存到变量,然后输出网格视图

本示例将 cmdlet 输出保存在变量中,然后将其发送到 Out-GridView

($A = Get-ChildItem -Path $PSHOME -Recurse) | Out-GridView

Get-ChildItem 使用自动变量获取 PowerShell 安装目录及其子目录中 $PSHOME 的所有文件。 命令中的括号可建立操作的顺序。 因此,Get-ChildItem 命令的输出将保存在 $A 变量中,然后会发送到 Out-GridView

示例 5:将指定计算机的进程输出到网格视图

此示例在网格视图窗口中显示 Server01 计算机上运行的进程。

Get-Process -ComputerName "Server01" | ogv -Title "Processes - Server01"

该示例使用 ogv,它是 cmdlet 的 Out-GridView 别名。 Title 参数指定窗口标题。

示例 6:将数据从远程计算机输出到网格视图

此示例演示如何将从远程计算机收集的数据发送到 Out-GridView

Invoke-Command -ComputerName S1, S2, S3 -ScriptBlock {Get-Culture} | Out-GridView

Invoke-Command 在三台远程计算机上运行 Get-Culture。 生成的数据通过管道传递给 Out-GridView。 请注意,在远程计算机上运行的脚本块不包括 Out-GridView 命令。 如果包括该命令,则当它尝试在每台远程计算机上打开网格视图窗口时,该命令将会失败。

示例 7:通过“Out-GridView”传递多个项

使用此示例可从 Out-GridView 窗口中选择多个进程。 选择的进程将传递到 Export-Csv 命令并写入 ProcessLog.csv 文件。

Get-Process | Out-GridView -PassThru | Export-Csv -Path .\ProcessLog.csv

Out-GridView 的 PassThru 参数支持在管道中发送多个项。 PassThru 参数等效于使用 OutputMode 参数的 Multiple 值。

示例 8:创建“Out-GridView”的 Windows 快捷方式

此示例演示如何使用 Out-GridView 的 Wait 参数创建 Out-GridView 窗口的 Windows 快捷方式。

pwsh -Command "Get-Service | Out-GridView -Wait"

此命令行可在 Windows 快捷方式中使用。 如果没有 Wait 参数,PowerShell 将在打开 Out-GridView 窗口后立即退出,这将几乎立即关闭 Out-GridView 窗口。

参数

-InputObject

指定该 cmdlet 接受作为 Out-GridView 的输入的对象。

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

Type:PSObject
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-OutputMode

指定交互式窗口将其作为输入通过管道发送到其他命令的项。 默认情况下,此 cmdlet 将不产生任何输出。 若要将交互式窗口中的项通过管道向下发送,请单击以选择项,然后单击“确定”。

此参数的值确定你可以通过管道向下发送多少项。

  • None。 无项。 这是默认值。
  • Single。 零个项或一个项。 当下一个命令只能获取一个输入对象时,使用此值。
  • Multiple。 零个、一个或多个项。 当下一个命令可以获取多个输入对象时,使用此值。 此值等效于 Passthru 参数。

已在 Windows PowerShell 3.0 中引入了此参数。

Type:OutputModeOption
Accepted values:None, Single, Multiple
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-PassThru

指示 cmdlet 将交互式窗口中的项作为输入通过管道发送到其他命令。 默认情况下,此 cmdlet 将不产生任何输出。 此参数等效于使用 OutputMode 参数的 Multiple 值。

若要将交互式窗口中的项通过管道向下发送,请单击以选择项,然后单击“确定”。 支持 Shift 单击和 Ctrl 单击。

Type:SwitchParameter
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Title

指定在 Out-GridView 窗口的标题栏中显示的文本。 默认情况下,该标题栏显示调用 Out-GridView 的命令。

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Wait

指示 cmdlet 取消显示命令提示符并阻止 Windows PowerShell 关闭,直到 Out-GridView 窗口关闭。 默认情况下,命令提示符将在打开 Out-GridView 窗口时返回。

此功能允许你在 Windows 快捷方式中使用 Out-GridView cmdlet。 当在不使用 Wait 参数的情况下在快捷方式中使用 Out-GridView 时,Out-GridView 窗口仅在 PowerShell 关闭前短暂出现。

Type:SwitchParameter
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

输入

PSObject

你可以通过管道将任何对象传递给此 cmdlet。

输出

None

默认情况下,此 cmdlet 不返回任何输出。

PSObject

使用 PassThru 参数时,此 cmdlet 返回表示所选行的对象。

备注

PowerShell 包含以下 Out-GridView 别名:

  • Windows:
    • ogv

此 cmdlet 仅在 Windows 平台上可用。 此 cmdlet 仅在 Windows 平台上可用。

你不能使用远程命令在另一台计算机上打开网格视图窗口。

无法使用 Format cmdlet(如 Format-TableFormat-Wide cmdlet)设置发送到 Out-GridView 的命令输出的格式。 若要选择属性,请使用 Select-Object cmdlet。

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

Out-GridView 的键盘快捷方式

使用此键: 可执行此操作:
Tab 将光标从“筛选器”框移到表的“添加条件”菜单,然后再返回。
UpArrow 上移一行。 从第一行数据移动到列标题。
DownArrow 下移一行。
LeftArrow 在列标题行中,左移一列。
RightArrow 在列标题行中,右移一列。
ContextMenuKey 在列标题行中,显示“选择列”选项。
EnterSpacebar 在列标题行中,对列数据进行排序(切换 A-Z、Z-A)。

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

若要隐藏或显示列,请执行以下操作:

  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 类型来确定。

每个条件具有以下格式:

<column> <operator> <value>

不同属性的条件由 AND 连接。 相同属性的条件由 OR 连接。 你不能更改逻辑连接符。

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

如何添加条件

  1. 若要显示“添加条件”菜单按钮,请在窗口右上角单击“展开”箭头。
  2. 单击“添加条件”菜单按钮。
  3. 单击以选择列(属性)。 你可以选择一个或多个属性。
  4. 当你完成选择属性时,请单击“添加”按钮。
  5. 若要取消添加,请单击“取消”。
  6. 若要添加更多条件,请再次单击“添加条件”按钮。

如何编辑条件

  • 若要更改运算符,请单击蓝色运算符值,然后从下拉列表中选择其他运算符。
  • 若要输入或更改某个值,请在值框中键入一个值。 如果输入的值无效,将显示一个圆形的 X 图标。 若要删除它,请更改该值。
  • 若要创建 OR 语句,请添加具有相同属性的条件。

如何删除条件

  • 若要删除所选的条件,请单击每个条件旁边的红色 X。
  • 若要删除所有条件,请单击“全部清除”按钮。