Invoke-History
從會話歷程記錄執行命令。
語法
Default (預設值)
Invoke-History
[[-Id] <String>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Description
Invoke-History cmdlet 會執行工作階段歷程記錄中的指令。 您可以將代表命令的物件從 Get-History 傳遞至 Invoke-History,或使用其 標識子 編號來識別目前歷程記錄中的命令。 若要尋找命令的標識碼,請使用 Get-History Cmdlet。
會話歷程記錄會與 PSReadLine 模組所維護的歷程記錄分開管理。 這兩個歷程記錄可在載入 PSReadLine 的會話中使用。 此 Cmdlet 僅適用於會話歷程記錄。 如需詳細資訊,請參閱 about_PSReadLine。
範例
範例 1:在歷程記錄中執行最新的命令
此範例會在會話歷程記錄中執行最後一個或最近一個命令。 您可以將此命令縮寫為 r,Invoke-History的別名。
Invoke-History
範例 2:執行具有指定識別碼的命令
此範例會在會話歷程記錄中,以標識碼 132 執行命令。 因為 識別子 參數的名稱是選擇性的,因此您可以縮寫此命令,如下所示:Invoke-History 132、ihy 132或 r 132。
Invoke-History -Id 132
範例 3:使用命令文字執行最新的命令
此範例會在會話歷程記錄中執行最新的 Get-Process 命令。 當您輸入 識別碼 參數的字元時,Invoke-History 執行第一個符合模式的命令,從最新的命令開始。
Invoke-History -Id get-pr
備註
模式比對不區分大小寫,但模式符合行的開頭。
範例 4:從歷程記錄執行一連串命令
此範例會執行命令 16 到 24。 因為您只能列出一個 識別碼 值,所以命令會使用 ForEach-Object cmdlet,並針對每個 Invoke-History 值執行一次 命令。
16..24 | ForEach-Object {Invoke-History -Id $_ }
範例 5
此範例會在歷程記錄中執行以命令 255 (249 到 255) 結尾的七個命令。 它會使用 Get-History Cmdlet 來擷取命令。 因為您只能列出一個 ID 值,因此這個指令會使用 ForEach-Object cmdlet,對每個 Invoke-History 值執行一次 命令。
Get-History -Id 255 -Count 7 | ForEach-Object {Invoke-History -Id $_.Id}
參數
-Confirm
在執行 Cmdlet 之前,提示您進行確認。
參數屬性
| 類型: | SwitchParameter |
| 預設值: | False |
| 支援萬用字元: | False |
| 不要顯示: | False |
| 別名: | cf |
參數集
(All)
| Position: | Named |
| 必要: | False |
| 來自管線的值: | False |
| 來自管線按屬性名稱的值: | False |
| 來自剩餘引數的值: | False |
-Id
指定歷程記錄中命令的 識別碼。 您可以輸入命令的 識別碼 編號或命令的前幾個字元。
如果您輸入字元,Invoke-History 會先符合最新的命令。 如果您省略此參數,Invoke-History 執行最後一個或最新的命令。 若要尋找命令 識別符 編號,請使用 Get-History cmdlet。
參數屬性
| 類型: | String |
| 預設值: | None |
| 支援萬用字元: | False |
| 不要顯示: | False |
參數集
(All)
| Position: | 0 |
| 必要: | False |
| 來自管線的值: | False |
| 來自管線按屬性名稱的值: | True |
| 來自剩餘引數的值: | False |
-WhatIf
顯示 Cmdlet 執行時會發生什麼事。 指令未執行。
參數屬性
| 類型: | SwitchParameter |
| 預設值: | False |
| 支援萬用字元: | False |
| 不要顯示: | False |
| 別名: | 無線 |
參數集
(All)
| Position: | Named |
| 必要: | False |
| 來自管線的值: | False |
| 來自管線按屬性名稱的值: | False |
| 來自剩餘引數的值: | False |
CommonParameters
此 Cmdlet 支援一般參數:-Debug、-ErrorAction、-ErrorVariable、-InformationAction、-InformationVariable、-OutBuffer、-OutVariable、-PipelineVariable、-ProgressAction、-Verbose、-WarningAction 和 -WarningVariable。 如需詳細資訊,請參閱 about_CommonParameters。
輸入
String
您可以將歷程記錄編號 和識別碼 傳送到此 Cmdlet。
輸出
None
此 Cmdlet 不會傳回自己的輸出,但其執行的命令可能會傳回自己的輸出。
備註
Windows PowerShell 包含下列 Invoke-History的別名:
ihyr
工作階段歷程記錄是工作階段期間輸入的命令清單。 會話歷程記錄代表命令的執行順序、狀態和開始和結束時間。 當您輸入每個命令時,PowerShell 會將它新增至歷程記錄,以便重複使用它。 如需了解有關工作階段歷程更多的詳細資料,請參閱 about_History。