Invoke-History
從工作階段歷程記錄執行命令。
Syntax
Invoke-History
[[-Id] <String>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Description
Cmdlet 會 Invoke-History
從會話歷程記錄執行命令。 您可以將代表命令的物件從 Get-History 傳遞至 Invoke-History
, 也可以使用其標識碼 來識別目前歷程記錄中的命令。 若要尋找命令的標識碼,請使用 Get-History
Cmdlet。
會話歷程記錄會與 PSReadLine 模組所維護的歷程記錄分開管理。 這兩個歷程記錄都可在 載入 PSReadLine 的會話中使用。 此 Cmdlet 僅適用於會話歷程記錄。 如需詳細資訊,請參閱 about_PSReadLine。
範例
範例 1:在歷程記錄中執行最新的命令
本範例會在會話歷程記錄中執行最後一個或最近一個命令。 您可以將此命令縮寫為 r
,這是 的 Invoke-History
別名。
Invoke-History
範例 2:執行具有指定識別碼的命令
此範例 會在標識碼為 132 的工作階段歷程記錄中執行 命令。 因為 Id 參數的名稱是選擇性的,所以您可以縮寫此命令,如下所示: Invoke-History 132
、 ihy 132
或 r 132
。
Invoke-History -Id 132
範例 3:使用命令文字執行最新的命令
此範例會在會話歷程記錄中執行最新的 Get-Process
命令。 當您輸入 Id 參數的字元時, Invoke-History
請執行它找到符合模式的第一個命令,從最新的命令開始。
Invoke-History -Id get-pr
注意
模式比對不區分大小寫,但模式符合行的開頭。
範例 4:從歷程記錄執行一連串的命令
此範例會執行命令 16 到 24。 因為您只能列出一個 Id 值,所以命令會使用 ForEach-Object
Cmdlet Invoke-History
針對每個 Id 值執行命令一次。
16..24 | ForEach {Invoke-History -Id $_ }
範例 5
本範例會在歷程記錄中執行七個命令,其結尾為命令 255 (249 到 255) 。 它會使用 Get-History
Cmdlet 來擷取命令。 因為您只能列出一個 Id 值,所以命令會使用 ForEach-Object
Cmdlet 針對每個 Id 值執行Invoke-History
命令一次。
Get-History -Id 255 -Count 7 | ForEach {Invoke-History -Id $_.Id}
參數
-Confirm
在執行 Cmdlet 前提示您確認。
Type: | SwitchParameter |
Aliases: | cf |
Position: | Named |
Default value: | False |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Id
指定歷程記錄中 命令的識別碼 。 您可以輸入命令的 識別碼號碼或 命令的前幾個字元。
如果您輸入字元, Invoke-History
請先符合最新的命令。 如果您省略此參數,請 Invoke-History
執行最後一個或最近一個命令。 若要尋找命令的 標識碼,請使用Get-History
Cmdlet。
Type: | String |
Position: | 0 |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-WhatIf
顯示執行 Cmdlet 後會發生的情況。 Cmdlet 並不會執行。
Type: | SwitchParameter |
Aliases: | wi |
Position: | Named |
Default value: | False |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
輸入
您可以使用管線將歷程記錄 標識碼 傳送至此 Cmdlet。
輸出
None
此 Cmdlet 不會產生任何輸出,但輸出可能會由執行的命令 Invoke-History
產生。
備註
工作階段歷程記錄是工作階段期間輸入的命令清單。 工作階段歷程記錄代表命令的執行順序、狀態及開始和結束時間。 當您輸入每個命令時,PowerShell 會將它新增至歷程記錄,以便重複使用。 如需會話歷程記錄的詳細資訊,請參閱 about_History。
您也可以透過其內建別名r
和 ihy
來參考 Invoke-History
。 如需詳細資訊,請參閱 about_Aliases。