Out-GridView

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

语法

PassThru (默认值)

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

Wait

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

OutputMode

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

说明

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

由于此 cmdlet 需要用户界面,因此它不适用于 Windows Server 的服务器核心安装。

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

  • 隐藏、显示和重新排序列:要隐藏、显示或重新排序列,请右键单击列标题,然后单击 Select Columns(选择列)。
  • 排序。 若要对数据进行排序,请单击列标题。 再次单击可切换从升序到降序。
  • 快速筛选器。 使用窗口顶部的 Filter 框搜索表中的文本。 可以搜索特定列中的文本、搜索文本和搜索多个单词。
  • 条件筛选器。 使用 Add criteria 下拉菜单创建规则以筛选数据。 这对于非常大的数据集(例如事件日志)非常有用。
  • 复制并粘贴。 若要从 Out-GridView 复制数据行,请按 Ctrl+C (复制) 。 可以将数据粘贴到任何文本或电子表格程序中。

有关使用这些功能的说明,请键入 Get-Help Out-GridView -Full 并参阅 Notes 部分中的如何使用 Grid View 窗口功能。

示例

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

PS C:\> Get-Process | Out-GridView

此命令获取在本地计算机上运行的进程,并将其发送到网格视图窗口。

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

PS C:\> $P = Get-Process
PS C:\> $P | Out-GridView

此命令还会获取在本地计算机上运行的进程,并将其发送到网格视图窗口。

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

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

示例 3:在网格视图中显示带格式的表

PS C:\> Get-Process | Select-Object -Property Name, WorkingSet, PeakWorkingSet | Sort-Object -Property WorkingSet -Descending | Out-GridView

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

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

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

另一个管道作员将筛选的对象发送到 Sort-Object cmdlet,后者按 WorkingSet 属性的值对它们进行降序排序。

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

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

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

PS C:\> ($A = Get-ChildItem -Path $pshome -Recurse) | Out-GridView

此命令将其输出保存在变量中,并将其发送到 Out-GridView

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

该命令使用赋值运算符 (=) 将输出保存在 $A 变量中,并使用管道运算符 (|) 将输出发送到 Out-GridView

命令中的括号将建立操作顺序。 因此,Get-ChildItem 命令的输出在发送到 Out-GridView 之前保存在 $A 变量中。

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

PS C:\> Get-Process -ComputerName "Server01" | ogv -Title "Processes - Server01"

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

该命令使用 ogv,这是 Out-GridView cmdlet 的内置别名,它使用 Title 参数指定窗口标题。

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

PS C:\> Invoke-Command -ComputerName S1, S2, S3 -ScriptBlock {Get-Culture} | Out-GridView

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

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

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

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

PS C:\> Get-Process | Out-GridView -PassThru | Export-Csv -Path .\ProcessLog.csv

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

该命令使用 Out-GridViewPassThru 参数,该参数允许在管道中发送多个项。 PassThru 参数等效于使用 OutputMode 参数的 Multiple 值。

示例 8:创建 Windows 快捷方式以 Out-GridView

PS C:\> Powershell.exe -Command "Get-Service | Out-GridView -Wait"

此命令演示如何使用 Out-GridViewWait 参数创建 Out-GridView 窗口的 Windows 快捷方式。 如果没有 Wait 参数,Windows PowerShell 将在打开 Out-GridView 窗口后立即退出,这将几乎立即关闭 Out-GridView 窗口。

参数

-InputObject

指定 cmdlet 接受 Out-GridView 的输入。

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

参数属性

类型:PSObject
默认值:None
支持通配符:False
不显示:False

参数集

(All)
Position:Named
必需:False
来自管道的值:True
来自管道的值(按属性名称):False
来自剩余参数的值:False

-OutputMode

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

此参数的值确定可以向下发送管道的项数。

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

此参数是在 Windows PowerShell 3.0 中引入的。

参数属性

类型:OutputModeOption
默认值:None
接受的值:None, Single, Multiple
支持通配符:False
不显示:False

参数集

OutputMode
Position:Named
必需:False
来自管道的值:False
来自管道的值(按属性名称):False
来自剩余参数的值:False

-PassThru

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

若要从交互式窗口向下管道发送项目,请单击以选择项,然后单击“确定”。 支持 Shift-click 和 Ctrl-click。

此参数是在 Windows PowerShell 3.0 中引入的。

参数属性

类型:SwitchParameter
默认值:None
支持通配符:False
不显示:False

参数集

PassThru
Position:Named
必需:False
来自管道的值:False
来自管道的值(按属性名称):False
来自剩余参数的值:False

-Title

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

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

参数属性

类型:String
默认值:None
支持通配符:False
不显示:False

参数集

(All)
Position:Named
必需:False
来自管道的值:False
来自管道的值(按属性名称):False
来自剩余参数的值:False

-Wait

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

此功能允许你在 Windows 快捷方式中使用 Out-GridView cmdlet。 在没有 Wait 参数的快捷方式中使用 Out-GridView 时,Out-GridView 窗口仅在 Windows PowerShell 关闭前立即显示。

此参数是在 Windows PowerShell 3.0 中引入的。

参数属性

类型:SwitchParameter
默认值:None
支持通配符:False
不显示:False

参数集

Wait
Position:Named
必需:False
来自管道的值:False
来自管道的值(按属性名称):False
来自剩余参数的值:False

CommonParameters

此 cmdlet 支持通用参数:-Debug、-ErrorAction、-ErrorVariable、-InformationAction、-InformationVariable、-OutBuffer、-OutVariable、-PipelineVariable、-ProgressAction、-Verbose、-WarningAction 和 -WarningVariable。 有关详细信息,请参阅 about_CommonParameters

输入

PSObject

您可以将任何对象发送到此 cmdlet。

输出

None

Out-GridView 不返回任何对象。

备注

  • 在 Windows PowerShell 2.0 中,默认情况下,Out-GridView cmdlet 安装在 Windows 的客户端版本上,但它是 Windows Server 版本的可选功能。 在 Windows PowerShell 3.0 中,它默认安装在所有系统上。 但是,如果关闭或删除 Windows PowerShell ISE 功能, 则 Out-GridView cmdlet 也会关闭或删除。

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

  • 发送到 Out-GridView 的命令输出无法格式化,例如使用 Format-Table 或 Format-Wide cmdlet。 若要选择属性,请使用 Select-Object cmdlet。

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

  • Out-GridView 的键盘快捷键

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

    使用此键:要执行此作:

    TAB 将光标从“筛选器”框移动到表和后退的“添加条件”菜单。

    向上键向上移动一行。 将移动到列标题。

    向下键向下移动一行。

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

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

    上下文菜单键 在列标题行中,显示 Select Columns 选项。

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

    如何使用 Grid View 窗口功能

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

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

    若要隐藏或显示列,

右键单击任何列标题,然后单击 Select Columns。

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

重新排序列:

  • 将列拖放到所需位置。

  • 或-

右键单击任何列标题,然后单击 Select Columns。

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

如何对表数据进行排序

  • 若要对数据进行排序,请单击列标题。

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

如何选择表数据

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

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

  • 若要选择连续行,请在单击行或使用箭头键的同时按住 Shift 键。

  • 若要选择非连续行,请按 Ctrl 键并单击以向所选内容添加行。

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

如何复制行

  • 若要从表中复制一行或多行,请选择这些行,然后按 Ctrl+C。

可以将数据粘贴到任何文本或电子表格程序中。 不能复制列或行的一部分,也不能复制列标题行。

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

使用“筛选器”框搜索表中的数据。 在框中键入内容时,表中仅显示包含已键入文本的项目。

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

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

  • 搜索文本短语。 若要搜索包含空格或特殊字符的短语,请将短语括在引号中。 Out-GridView 显示包含与短语完全匹配的行。

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

<列>:<文本> [<列>:<文本>] ...

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

displayname:net

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

displayname:net name:net

  • 关闭搜索。 要再次显示整个表格,请单击 Filter 框右上角的红色 X 按钮,或从 Filter 框中删除文本。

使用条件筛选表

可以使用规则或条件来确定表中显示哪些项。 仅当项满足你建立的所有条件时才显示。 可用条件由网格视图窗口中显示的对象的属性和这些属性的 .NET Framework 类型确定。

每个条件具有以下格式:

<列><运算符><值>

不同属性的条件由 AND 连接。 同一属性的条件通过 OR 进行连接。 无法更改逻辑连接器。

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

如何添加条件

1. 要显示 Add criteria 菜单按钮,请单击窗口右上角的 Expand 箭头。

2. 单击 Add Criteria 菜单按钮。

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

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

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

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

如何编辑条件

  • 要更改运算符,请单击蓝色运算符值,然后单击以从下拉列表中选择其他运算符。

  • 若要输入或更改值,请在值框中键入值。 如果输入的值无效,将显示一个圆形 X 图标。 若要将其删除,请更改值。

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

如何删除条件

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

  • 要删除所有标准,请单击 Clear All 按钮。