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>]
说明
Out-GridView cmdlet 将输出从命令发送到网格视图窗口,在该窗口中输出将显示在一个交互式表中。
因为此 cmdlet 需要用户界面,所以它无法在 Windows Server 的 Server Core 安装上运行。
你可以使用该表的以下功能检查你的数据:
- 隐藏、显示和重新排序列:若要隐藏、显示列或重新排序,请右键单击列标题,然后单击“选择列”。
- 排序。 若要对数据排序,请单击列标题。 再次单击以将升序排序切换为降序排序。
- 快速筛选器。 使用窗口顶部的“筛选器”框搜索表格中的文本。 你可以在特定列中搜索文本,搜索文字以及搜索多个字词。
- 条件筛选器。 使用“添加条件”下拉菜单创建规则来筛选数据。 这对于非常大的数据集(例如事件日志)非常有用。
- 复制和粘贴。 若要从 Out-GridView 复制数据行,请按 Ctrl+C (复制) 。 可以将数据粘贴到任何文本或电子表格程序。
有关使用这些功能的说明,请键入 Get-Help Out-GridView -Full
并参阅“说明”部分中的“如何使用网格视图窗口功能”。
示例
示例 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 的 Property 参数选择要在表中显示的 Name、WorkingSet 和 PeakWorkingSet 属性。
另一个管道运算符将筛选的对象发送到 Sort-Object cmdlet,该 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:Create 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。
Type: | PSObject |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-OutputMode
指定交互式窗口将管道向下发送的项作为其他命令的输入。 默认情况下,此 cmdlet 将不产生任何输出。 若要将交互式窗口中的项通过管道向下发送,请单击以选择项,然后单击“确定”。
此参数的值确定你可以通过管道向下发送多少项。
- 无。 无项。 这是默认值。
- 单一。 零个项或一个项。 当下一个命令只能获取一个输入对象时,使用此值。
- 多个。 零个、一个或多个项。 当下一个命令可以获取多个输入对象时,使用此值。 此值等效于 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 单击。
已在 Windows PowerShell 3.0 中引入了此参数。
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
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。 当在快捷方式中使用 Out-GridView,而无需 Wait 参数时,Out-GridView 窗口仅在 Windows PowerShell 关闭前暂时出现。
已在 Windows PowerShell 3.0 中引入了此参数。
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
输入
可以将任何对象发送到此 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 将光标从“筛选器”框移动到表的“添加条件”菜单,然后返回。
向上键 上移一行。 将移到列标题。
向下箭头 向下移动一行。
向左箭头 在列标题行中,向左移动一列。
向右键 在列标题行中,向右移动一列。
上下文菜单键 在列标题行中,显示“选择列”选项。
ENTER 或空格键 在列标题行中,对列数据进行排序(切换 A-Z、Z-A)。
如何使用网格视图窗口功能
以下主题说明如何使用 Out-GridView 显示的窗口的功能。
如何隐藏、显示和重新排序列
若要隐藏或显示列:
右键单击任何列标题,然后单击“选择列”。
2. 在“选择列”对话框中,使用箭头键将“所选列”之间的列移动到“可用列”框。 网格视图窗口中仅显示“所选列”框中的列。
若要重新排序列:
将列拖放到所需位置。
或 -
右键单击任何列标题,然后单击“选择列”。
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><运算符><值>
不同属性的条件由 AND 连接。 相同属性的条件由 OR 连接。 你不能更改逻辑连接符。
条件仅影响显示。 它不会从表中删除项。
如何添加条件
1. 若要显示“添加条件”菜单按钮,请单击窗口右上角的“展开”箭头。
2. 单击“添加条件”菜单按钮。
3. 单击以选择) 属性 (列。 你可以选择一个或多个属性。
4. 选择完属性后,单击“添加”按钮。
5. 若要取消添加,请单击“取消”。
6. 若要添加更多条件,请再次单击“添加条件”按钮。
如何编辑条件
若要更改运算符,请单击蓝色运算符值,然后单击以从下拉列表中选择其他运算符。
若要输入或更改值,请在值框中键入值。 如果输入的值无效,将显示一个圆形的 X 图标。 若要删除它,请更改该值。
若要创建 OR 语句,请添加具有相同属性的条件。
如何删除条件
若要删除所选条件,请单击每个条件旁边的红色 X。
若要删除所有条件,请单击“全部清除”按钮。