PowerShell 中的 Out-GridView


描述

PowerShell 中的 Out-GridView 是 GUI 格式的输出格式。通常,我们使用 **Format-Table** 或 **Format-List** 命令在控制台上获取输出。类似地,**Out-GridView** 也是输出格式,但由于 GUI 格式,我们可以与之交互。

此外,它还为我们提供了选择单行或多行的选项,我们可以存储选定的输出并在脚本中使用它们。

带管道的 Out-Gridview

您可以像 Format-Table 或 Format-List 命令一样将输出通过管道传递到 Gridview。

示例 1 - 带管道输出

Get-Service | where{$_.StartType -eq 'Disabled'} | Out-GridView

输出

上述命令将获取所有禁用且自定义标题为“**Disabled Services**”的 Windows 服务。

示例 2 - 筛选 Out-Gridview 输出

您还可以像下面所示向输出添加过滤器。您可以根据需要应用多个过滤器。

示例 3 - 从 Out-Gridview 中选择输出

有时在脚本中,您需要从输出中进行选择,Out-GridView 可以使用 **OutputMode** 参数提供此功能。

  • 单一输出模式

您可以通过向 **OutputMode** 参数提供“**Single**”值来从输出中选择一行。

示例

Get-Service | where{$_.StartType -eq 'Disabled'} | Out-GridView -Title "Disabled
Services" -OutputMode Single

输出

选择单行并点击确定。

您可以将输出存储到变量中并在 PowerShell 中使用。

$ser = Get-Service | where{$_.StartType -eq 'Disabled'} | Out-GridView -Title
"Disabled Services" -OutputMode Single
$ser.DisplayName
  • 多输出模式。

当您使用 **Multiple** 而不是单一输出模式时,您可以进行多个选择并将它们存储到变量中。

$services = Get-Service | where{$_.StartType -eq 'Disabled'} | Out-GridView -
Title "Disabled Services" -OutputMode Multiple
Write-Output "Services"
$services.Name
  • 使用 PassThru。

与多输出模式类似,**-PassThru** 参数允许您与单行或多行输出进行交互。

示例

Get-Service | where{$_.StartType -eq 'Disabled'} | Out-GridView -Title "Disabled
Services" -PassThru

输出

在这里,我们选择了前 3 行,输出将是,

示例 4 - 将 Out-GridView 作为函数使用。

您可以将 Out-GridView cmdlet 作为函数使用。例如,在上述情况下,我们可以将选定的服务设置为手动状态,如下所示。

Get-Service | where{$_.StartType -eq 'Disabled'} |`
   Out-GridView -Title "Disabled Services" -PassThru | `
   Set-Service -StartupType Manual -PassThru

更新于: 2022年2月18日

5K+ 浏览量

开启你的 职业生涯

通过完成课程获得认证

开始学习
广告