Show-Command

在图形窗口中显示 PowerShell 命令信息。

语法

Show-Command
    [[-Name] <String>]
    [-Height <Double>]
    [-Width <Double>]
    [-NoCommonParameter]
    [-ErrorPopup]
    [-PassThru]
    [<CommonParameters>]

说明

此 cmdlet 仅在 Windows 平台上可用。

Show-Command cmdlet 允许在命令窗口中创建 PowerShell 命令。 你可以使用命令窗口的功能运行命令或使其向你返回命令。

Show-Command 是非常有用的教学工具。 Show-Command 对所有命令类型有效,包括 cmdlet、函数、工作流和 CIM 命令。

不使用参数时,Show-Command 将显示一个命令窗口,此窗口中将列出已安装模块中的所有可用命令。 若要查找某个模块中的命令,请从“模块”下拉列表中选择该模块。 若要选择命令,请单击命令名称。

若要使用命令窗口,请通过使用 Name 或单击Commands 列表中的命令名称选择命令。 将在单独的选项卡上显示每个参数集。星号表示强制参数。 若要输入某个参数的值,请在文本框中键入该值或从下拉框中选择值。 若要添加开关参数,请单击以选中参数复选框。

准备就绪后,可单击“复制”,将你创建的命令复制到剪贴板,或单击“运行”运行该命令。 还可使用 PassThru 参数将该命令返回到主机程序中,例如 PowerShell 控制台。 若要取消命令选择并返回到显示所有命令的视图,请按 Ctrl 并单击所选的命令。

在 PowerShell 集成脚本环境 (ISE) 中,默认显示 Show-Command 窗口的变体。 有关如何使用此命令窗口的信息,请参阅 PowerShell ISE 帮助主题。

此 cmdlet 在 PowerShell 7 中重新引入。

因为此 cmdlet 需要用户界面,所以它无法在 Windows Server Core 或 Windows Nano Server 上运行。 此 cmdlet 仅在支持 Windows 桌面的 Windows 系统上可用。

示例

示例 1:打开命令窗口

此示例显示 Show-Command 窗口的默认视图。 “命令”窗口显示安装在计算机上的所有模块中的所有命令列表。

Show-Command

示例 2:在命令窗口中打开 cmdlet

此示例在“命令”窗口中显示了 Invoke-Command cmdlet。 可以使用此显示来运行 Invoke-Command 命令。

Show-Command -Name "Invoke-Command"

示例 3:打开具有指定参数的 cmdlet

此命令将打开 Show-Command cmdlet 的 Connect-PSSession 窗口。

Show-Command -Name "Connect-PSSession" -Height 700 -Width 1000 -ErrorPopup

Height 和 Width 参数指定命令窗口的尺寸。 ErrorPopup 参数显示错误命令窗口。

单击“运行”时,Connect-PSSession 命令将运行,就像在命令行上键入 Connect-PSSession 命令一样。

示例 4:为 cmdlet 指定新的默认参数值

此示例使用 $PSDefaultParameterValues 自动变量设置 Show-Command cmdlet 的 Height、Width 和 ErrorPopup 参数的新默认值。

$PSDefaultParameterValues = @{
    "Show-Command:Height" = 700
    "Show-Command:Width" = 1000
    "Show-Command:ErrorPopup" = $True
}

现在,运行 Show-Command 命令时,将自动应用新默认值。 若要使用每个 PowerShell 会话中的这些默认值,请将 $PSDefaultParameterValues 变量添加到 PowerShell 配置文件。 有关详细信息,请参阅 about_Profilesabout_Parameters_Default_Values

示例 5:将输出发送到网格视图

此命令显示如何同时使用 Show-CommandOut-GridView cmdlet。

Show-Command Get-ChildItem | Out-GridView

此命令使用 Show-Command cmdlet 打开以下 Get-ChildItem cmdlet 的命令窗口。 单击“运行”按钮时,Get-ChildItem 命令将运行并生成输出。 管道运算符 (|) 将 Get-ChildItem 命令的输出发送到 Out-GridView cmdlet,此 cmdlet 将在交互式窗口中显示 Get-ChildItem 输出。

示例 6:显示在命令窗口中创建的命令

此示例在 Show-Command 窗口中显示你创建的命令。 此命令使用 PassThru 参数,以字符串形式返回 Show-Command 结果。

Show-Command -PassThru

Get-EventLog -LogName "Windows PowerShell" -Newest 5

例如,如果使用 Show-Command 窗口创建 Get-EventLog 命令(可获取 Windows PowerShell 事件日志中 5 个最新事件),然后单击“确定”,则该命令返回以上输出。 查看命令字符串可帮助你了解 PowerShell。

示例 7:将命令保存到变量

此示例展示了如何运行在使用 Show-Command cmdlet 的 PassThru 参数时所获取的命令字符串。 此策略使你可以查看该命令并使用它。

$C = Show-Command -PassThru
$C
Invoke-Expression $C

Get-EventLog -LogName "PowerShell" -Newest 5

Index Time          EntryType   Source                 InstanceID Message
----- ----          ---------   ------                 ---------- -------
11520 Dec 16 16:37  Information Windows PowerShell            400 Engine state is changed from None to Available...
11519 Dec 16 16:37  Information Windows PowerShell            600 Provider "Variable" is Started. ...
11518 Dec 16 16:37  Information Windows PowerShell            600 Provider "Registry" is Started. ...
11517 Dec 16 16:37  Information Windows PowerShell            600 Provider "Function" is Started. ...
11516 Dec 16 16:37  Information Windows PowerShell            600 Provider "FileSystem" is Started. ...

第一个命令使用 Show-Commandcmdlet 的 PassThru 参数,并将命令的结果保存在 $C 变量中。 在本例中,我们使用 Show-Command 窗口创建 Get-EventLog 命令(用于获取 Windows PowerShell 事件日志中 5 个最新事件)。 单击“确定”时,Show-Command 将返回命令字符串,此字符串保存在 $C 变量中。

示例 8:将命令输出保存到变量

此示例使用 ErrorPopup 参数将命令的输出保存在变量中。

$P = Show-Command Get-Process -ErrorPopup
$P

Handles  NPM(K)    PM(K)      WS(K) VM(M)   CPU(s)     Id ProcessName
-------  ------    -----      ----- -----   ------     -- -----------
    473      33    94096     112532   709     2.06   4492 powershell

除了在窗口中显示错误以外,ErrorPopup 还会将命令输出返回到当前命令,而不是创建新命令。 运行此命令时,Show-Command 窗口将打开。 你可以使用窗口功能来设置参数值。 若要运行此命令,请单击 Show-Command 窗口中的“运行”按钮。

参数

-ErrorPopup

指示除了在命令行中显示错误以外,该 cmdlet 还在弹出窗口中显示错误。 默认情况下,在 Show-Command 窗口中运行的命令生成错误时,该错误将仅显示在命令行中。

此外,运行该命令时(通过使用 Show-Command 窗口中的“运行”按钮),ErrorPopup 参数会将命令结果返回到当前命令,而不是运行该命令并将其输出返回到新的命令。 你可以使用此功能将命令结果保存在变量中。

类型:SwitchParameter
Position:Named
默认值:False
必需:False
接受管道输入:False
接受通配符:False

-Height

指定 Show-Command 窗口的高度(以像素为单位)。 输入一个介于 300 和屏幕分辨率中的像素数之间的值。 如果该值太大而无法在屏幕上显示命令窗口,则 Show-Command 将生成一个错误。 默认高度为 600 像素。 对于包含 Name 参数的 Show-Command 命令,默认高度为 300 像素。

类型:Double
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-Name

为指定的命令显示命令窗口。 输入单个命令的名称,例如 cmdlet、函数或 CIM 命令的名称。 如果省略此参数,则 Show-Command 将显示一个命令窗口,此窗口中将列出计算机上安装的所有模块中的 PowerShell 命令。

类型:String
别名:CommandName
Position:0
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-NoCommonParameter

指示此 cmdlet 省略命令显示的“通用参数”部分。 默认情况下,“通用参数”显示在命令窗口底部的可展开部分中。

类型:SwitchParameter
Position:Named
默认值:False
必需:False
接受管道输入:False
接受通配符:False

-PassThru

返回一个代表你所处理的项目的对象。 默认情况下,此 cmdlet 将不产生任何输出。 若要运行命令字符串,请将其复制并粘贴到命令提示符中,或将其保存在变量中并使用 Invoke-Expression cmdlet 运行变量中的字符串。

类型:SwitchParameter
Position:Named
默认值:False
必需:False
接受管道输入:False
接受通配符:False

-Width

指定 Show-Command 窗口的宽度(以像素为单位)。 输入一个介于 300 和屏幕分辨率中的像素数之间的值。 如果该值太大而无法在屏幕上显示命令窗口,则 Show-Command 将生成一个错误。 默认宽度为 300 像素。

类型:Double
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

输入

None

不能通过管道将对象传递给此 cmdlet。

输出

None

默认情况下,此 cmdlet 不返回任何输出。

String

使用 PassThru 参数时,此 cmdlet 返回一个命令字符串。

Object

使用 ErrorPopup 参数时,此 cmdlet 返回命令输出(任何对象)。

备注

PowerShell 包含以下 Show-Command 别名:

  • Windows:
    • shcm

此 cmdlet 仅在 Windows 平台上可用。

Show-Command 在远程会话中不起作用。