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
,以选择 名称、WorkingSet,以及 PeakWorkingSet 属性。 另一个管道运算符将筛选的对象发送到 Sort-Object
cmdlet,按 WorkingSet 属性的值按降序对它们进行排序。
然后,通过管道将排序结果传递给 Out-GridView
。 现在可以使用网格视图的功能来搜索、排序和筛选数据。
示例 4:将输出保存到变量,然后输出网格视图
本示例将 cmdlet 输出保存在变量中,然后将其发送到 Out-GridView
。
($A = Get-ChildItem -Path $PSHOME -Recurse) | Out-GridView
Get-ChildItem
使用 $PSHOME
自动变量获取 PowerShell 安装目录及其子目录中的所有文件。 命令中的括号将建立操作顺序。 因此,Get-ChildItem
命令的输出将保存在 $A
变量中,然后再将其发送到 Out-GridView
。
示例 5:将指定计算机的输出进程输出到网格视图
本示例显示网格视图窗口中 Server01 计算机上运行的进程。
Get-Process -ComputerName "Server01" | ogv -Title "Processes - Server01"
该示例使用 ogv
,这是 Out-GridView
cmdlet 的别名。
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 参数的 多 值。
示例 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
。
类型: | PSObject |
Position: | Named |
默认值: | None |
必需: | False |
接受管道输入: | True |
接受通配符: | False |
-OutputMode
指定交互式窗口将管道作为输入发送到其他命令的项。 默认情况下,此 cmdlet 不生成任何输出。 若要从交互式窗口向下管道发送项目,请单击以选择项,然后单击“确定”。
此参数的值确定可以向下发送管道的项数。
-
None
。 无项目。 这是默认值。 -
Single
。 零项或一项。 当下一个命令只能获取一个输入对象时,请使用此值。 -
Multiple
。 零、一个或多个项。 当下一个命令可以采用多个输入对象时,请使用此值。 此值等效于 Passthru 参数。
此参数是在 Windows PowerShell 3.0 中引入的。
类型: | OutputModeOption |
接受的值: | None, Single, Multiple |
Position: | Named |
默认值: | None |
必需: | False |
接受管道输入: | False |
接受通配符: | False |
-PassThru
指示 cmdlet 将管道中的交互窗口中的项作为输入发送到其他命令。 默认情况下,此 cmdlet 不生成任何输出。 此参数等效于使用 OutputMode 参数的 多 值。
若要从交互式窗口向下管道发送项目,请单击以选择项,然后单击“确定”。 支持 Shift-click 和 Ctrl-click。
类型: | SwitchParameter |
Position: | Named |
默认值: | False |
必需: | False |
接受管道输入: | False |
接受通配符: | False |
-Title
指定 Out-GridView
窗口标题栏中显示的文本。 默认情况下,标题栏显示调用 Out-GridView
的命令。
类型: | String |
Position: | Named |
默认值: | None |
必需: | False |
接受管道输入: | False |
接受通配符: | False |
-Wait
指示该 cmdlet 禁止命令提示符,并阻止 Windows PowerShell 关闭,直到关闭 Out-GridView
窗口。 默认情况下,命令提示符会在打开 Out-GridView
窗口时返回。
此功能允许你在 Windows 快捷方式中使用 Out-GridView
cmdlet。 在没有 Wait 参数的快捷方式中使用 Out-GridView
时,Out-GridView
窗口仅在 PowerShell 关闭前立即显示。
类型: | SwitchParameter |
Position: | Named |
默认值: | False |
必需: | False |
接受管道输入: | False |
接受通配符: | False |
输入
可以通过管道将任何对象传递给此 cmdlet。
输出
None
默认情况下,此 cmdlet 不返回任何输出。
使用 PassThru 参数时,此 cmdlet 返回表示所选行的对象。
备注
PowerShell 包含以下 Out-GridView
别名:
- 窗户:
ogv
此 cmdlet 仅在 Windows 平台上可用。 此 cmdlet 仅在 Windows 平台上可用。
不能使用远程命令在另一台计算机上打开网格视图窗口。
无法使用 Format
cmdlet(如 Format-Table
或 Format-Wide
cmdlet)格式化发送到 Out-GridView
的命令输出。 若要选择属性,请使用 Select-Object
cmdlet。
远程命令的反序列化输出可能无法在网格视图窗口中正确设置格式。
使用此密钥: | 若要执行此操作,请执行以下操作: |
---|---|
选项卡 | 将光标从 筛选器 框移动到 向表和后退添加条件 菜单。 |
UpArrow | 向上移动一行。 从第一行数据移动到列标题。 |
DownArrow | 下移一行。 |
LeftArrow | 在列标题行中,向左移动一列。 |
RightArrow | 在列标题行中,向右移动一列。 |
ContextMenuKey | 在列标题行中,显示“选择列”选项。 |
输入 或 空格键 | 在列标题行中,对列数据进行排序(切换 A-Z、Z-A)。 |
如何使用网格视图窗口功能
若要隐藏或显示列:
- 右键单击任何列标题,然后单击 选择列。
- 在 选择列 对话框中,使用箭头键将所选列之间的列移动到“可用列”框。 仅 选择列 框中的列显示在网格视图窗口中。
重新排序列:
可以将列拖放到所需位置。 或者使用以下步骤:
- 右键单击任何列标题,然后单击 选择列。
- 在“选择列 对话框中,使用 上移 和 下移 按钮对列重新排序。 列表顶部的列显示在网格视图窗口列表底部的列左侧。
如何对表数据进行排序
- 若要对数据进行排序,请单击列标题。
- 若要更改排序顺序,请再次单击列标题。 每次单击同一标题时,排序顺序都会在升序到降序之间切换。 当前顺序由列标题中的三角形指示。
如何选择表数据
- 若要选择行,请选择该行或使用向上或向下箭头导航到该行。
- 若要选择所有行(标题行除外),请按 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进行连接。 无法更改逻辑连接器。
条件仅影响显示。 它不会从表中删除项。
如何添加条件
- 若要显示 “添加条件” 菜单按钮,请在窗口右上角单击“展开”箭头。
- 单击“添加条件”菜单按钮
。 - 单击以选择列(属性)。 可以选择一个或多个属性。
- 选择完属性后,单击“添加”按钮
。 - 若要取消添加内容,请单击 取消。
- 若要添加更多条件,请再次单击“添加条件” 按钮。
如何编辑条件
- 若要更改运算符,请单击蓝色运算符值,然后从下拉列表中选择其他运算符。
- 若要输入或更改值,请在值框中键入值。 如果输入的值无效,将显示一个圆形 X 图标。 若要将其删除,请更改值。
- 若要创建 OR 语句,请添加具有相同属性的条件。
如何删除条件
- 若要删除所选条件,请单击每个条件旁边的红色 X。
- 若要删除所有条件,请单击“清除所有”按钮
。