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
广告