Get-History
取得在目前工作階段期間輸入的命令清單。
語法
Get-History [[-Id] <Int64[]>] [[-Count] <int>] [<CommonParameters>]
描述
Get-History Cmdlet 會取得工作階段歷程記錄,也就是在目前工作階段期間所輸入命令的清單。Windows PowerShell 會自動維護每個工作階段的歷程記錄。您可以將工作階段歷程記錄儲存成 XML 或 CSV 格式。預設情況下,歷程記錄檔案會儲存在主目錄中,不過,您可以將此檔案儲存到任何位置。
參數
-Count <int>
顯示指定個數的最近歷程記錄項目。預設值為 32。如果您同時在命令中使用 Count 和 Id 參數,顯示清單將以 Id 參數所指定的命令結尾。
必要? |
false |
位置? |
2 |
預設值 |
|
接受管線輸入? |
false |
接受萬用字元? |
false |
-Id <Int64[]>
指定命令在工作階段歷程記錄中的識別碼。Get-History 只會取得指定的命令。如果同時指定 Id 和 Count,Get-History 便會取得結尾為 Id 參數所指定之最近的命令。
必要? |
false |
位置? |
1 |
預設值 |
|
接受管線輸入? |
true (ByValue) |
接受萬用字元? |
false |
<CommonParameters>
這個 Cmdlet 支援一般參數:-Verbose、-Debug、-ErrorAction、-ErrorVariable、-OutBuffer 和 -OutVariable。如需詳細資訊,請參閱 about_Commonparameters.
輸入和輸出
輸入型別是可經由管道輸出至 Cmdlet 的物件型別。傳回型別則是 Cmdlet 所傳回的物件型別。
輸入 |
Int64 您可以經由管道將歷程記錄識別碼輸出至 Get-History。 |
輸出 |
Microsoft.PowerShell.Commands.HistoryInfo Get-History 會針對它所取得的每個歷程記錄項目傳回一個歷程記錄物件。 |
附註
工作階段歷程記錄是在工作階段期間所輸入命令的清單以及識別碼。工作階段歷程記錄代表執行的順序、狀態,以及命令的開始和結束時間。每當您輸入一個命令,Windows PowerShell 便會將其新增至歷程記錄,讓您可以重複使用。如需命令歷程記錄的詳細資訊,請參閱 about_History。
您也可以利用內建的別名 "h"、"history" 和 "ghy" 來參照 Get-History。如需詳細資訊,請參閱 about_Aliases。
範例 1
C:\PS>get-history
描述
-----------
這個命令會取得 32 個最近提交的命令。預設顯示會列出每個命令,以及可指出其執行順序的識別碼。
範例 2
C:\PS>get-history | where-object {$_.commandLine -like "*service*"}
描述
-----------
這個命令會從命令歷程記錄中取得包含 "service" 一字的項目。第一個命令會取得工作階段歷程記錄中 32 個最近的項目。管線運算子 (|) 會將結果傳遞到 Where-Object Cmdlet,並由後者僅選取包含 "service" 的命令。
範例 3
C:\PS>get-history -id 7 -count 5 | export-csv history.csv
描述
-----------
這個命令會取得最後一個項目識別碼為 7 的五個最近的歷程記錄項目。管線運算子 (|) 會將結果傳遞到 Export-Csv Cmdlet,此 Cmdlet 會將歷程記錄格式化為以逗號分隔的文字,同時儲存到 History.csv 檔案。此檔案包含了歷程記錄格式化成為清單時所顯示的資料,其中包括命令的狀態、開始時間和結束時間。
範例 4
C:\PS>get-history -count 1
描述
-----------
這個命令會取得命令歷程記錄中的最後一個 (最近輸入的) 命令。它會使用 Count 參數以便僅顯示一個命令。根據預設,Get-History 會顯示最近的命令。這個命令可以縮寫成 "h -c 1",而且與按向上鍵具有相同作用。
範例 5
C:\PS>get-history -count $MaximumHistoryCount
描述
-----------
這個命令會顯示儲存在工作階段歷程記錄中的所有命令。預設情況下,$MaximumHistoryCount 是 64,因此這個命令可以縮寫成 "h -c 64"。
範例 6
C:\PS>get-history | format-list
描述
-----------
這個命令會顯示工作階段歷程記錄中項目的所有屬性。管線運算子 (|) 會將結果傳遞至 Format-List Cmdlet,此 Cmdlet 會顯示每個歷程記錄項目的所有屬性,包括命令的識別碼、狀態、開始時間和結束時間。