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-GridView的 PassThru 参数,该参数允许在管道中发送多个项。 PassThru 参数等效于使用 OutputMode 参数的 Multiple 值。
示例 8:创建 Windows 快捷方式以 Out-GridView
PS C:\> Powershell.exe -Command "Get-Service | Out-GridView -Wait"
此命令演示如何使用 Out-GridView 的 Wait 参数创建 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 按钮。