Invoke-History
从会话历史记录中运行命令。
语法
Invoke-History [[-Id] <string>] [-Confirm] [-WhatIf] [<CommonParameters>]
说明
Invoke-History cmdlet 从会话历史记录中运行命令。您可以将表示命令的对象从 Get-History 传递给 Invoke-History,或者通过使用命令 ID 号来标识当前历史记录中的命令。若要查找命令的标识号,请使用 Get-History。
参数
-Id <string>
标识历史记录中的命令。您可以键入命令的 ID 号或命令的头几个字符。
如果键入字符,则 Invoke-History 首先匹配最近的命令。如果省略此参数,则 Invoke-History 运行最后一个(最近的)命令。参数名(“id”)为可选项。若要查找命令的 ID 号,请使用 Get-History。
是否为必需? |
false |
位置? |
1 |
默认值 |
|
是否接受管道输入? |
true (ByPropertyName) |
是否接受通配符? |
false |
-Confirm
在执行命令之前提示您进行确认。
是否为必需? |
false |
位置? |
named |
默认值 |
|
是否接受管道输入? |
false |
是否接受通配符? |
false |
-WhatIf
描述如果执行该命令会发生什么情况(无需实际执行该命令)。
是否为必需? |
false |
位置? |
named |
默认值 |
|
是否接受管道输入? |
false |
是否接受通配符? |
false |
<CommonParameters>
此 cmdlet 支持通用参数:-Verbose、-Debug、-ErrorAction、-ErrorVariable、-OutBuffer 和 -OutVariable。有关详细信息,请参阅 about_Commonparameters.
输入和输出
输入类型是指可通过管道传递给 cmdlet 的对象的类型。返回类型是指 Cmdlet 所返回对象的类型。
输入 |
无 不能通过管道将输入传递给此 cmdlet。 |
输出 |
无 Invoke-History 不生成任何输出,但 Invoke-History 运行的命令可能会生成输出。 |
说明
会话历史记录是会话期间输入的命令(包含 ID)的列表。会话历史记录表示命令的执行顺序、状态以及开始和结束时间。输入每条命令时,Windows PowerShell 会将其添加到历史记录中,以便对其进行重复利用。有关会话历史记录的详细信息,请参阅 about_History。
还可以使用 Invoke-History 的内置别名“r”和“ihy”来对其进行引用。有关详细信息,请参阅 about_Aliases。
示例 1
C:\PS>invoke-history
说明
-----------
此命令运行会话历史记录中的最后一个(最近的)命令。您可以将此命令缩写为“r”(指“repeat”或“rerun”),这是 Invoke-History 的别名。
示例 2
C:\PS>invoke-history -id 132
说明
-----------
此命令运行会话历史记录中 ID 为 132 的命令。由于 Id 参数的名称是可选的,因此,可以将此命令缩写为“Invoke-History 132”、“ihy 132”或“r 132”。
示例 3
C:\PS>invoke-history get-pr
说明
-----------
此命令运行会话历史记录中的最近的 Get-Process 命令。在键入 Id 参数的字符时,Invoke-History 运行它发现的匹配该模式的第一个命令(从最近的命令开始)。此命令使用 ID 参数,但省略可选的参数名。
示例 4
C:\PS>invoke-history (16..24), 27
说明
-----------
此命令运行命令 16 至 24 及命令 27。您可以列出用逗号分隔的多个 ID 和 ID 范围。
示例 5
C:\PS>get-history -id 255 -count 7 | invoke-history
说明
-----------
此命令运行历史记录中以命令 255 结束的 7 个命令(通常是 249 到 255)。它使用 Get-History cmdlet 检索命令。管道运算符 (|) 将命令传递给 Invoke-History,后者执行这些命令。