Get-History
取得目前工作階段期間輸入的命令清單。
語法
Get-History
[[-Id] <Int64[]>]
[[-Count] <Int32>]
[<CommonParameters>]
Description
Get-History Cmdlet 會取得會話歷程記錄,也就是目前會話期間輸入的命令清單。
PowerShell 會自動維護每個工作階段的歷程記錄。 會話歷程記錄中的項目數目取決於$MaximumHistoryCount喜好設定變數的值。 從 Windows PowerShell 3.0 開始,預設值為 4096。
您可以使用 XML 或 CSV 格式儲存工作階段歷程記錄。 根據預設,歷程記錄檔會儲存在主目錄中,但您可以將檔案儲存在任何位置。
如需 PowerShell 中記錄功能的詳細資訊,請參閱 Microsoft Docs 中的 about_History。
範例
範例 1:取得會話歷程記錄
Get-History
此命令會取得會話歷程記錄中的專案。 默認顯示會顯示每個命令及其識別碼,指出其執行的順序。
範例 2:取得包含字串的專案
Get-History | Where-Object {$_.CommandLine -like "*Service*"}
此命令會取得包含字串服務的命令歷程記錄中的專案。 第一個命令會取得會話歷程記錄中的所有專案。 管線運算符 (|) 會將結果傳遞至 Where-Object Cmdlet,而此 Cmdlet 只會選取包含服務的命令。
範例 3:最多匯出七個專案
Get-History -ID 7 -Count 5 | Export-Csv History.csv
此命令會取得以專案 7 結尾的五個最近歷程記錄專案。 管線運算符會將結果傳遞至 Export-Csv Cmdlet,此 Cmdlet 會將歷程記錄格式化為逗號分隔文字,並將它儲存在 History.csv 檔案中。 檔案包含當您將歷程記錄格式化為清單時所顯示的數據。 這包括命令的狀態和開始和結束時間。
範例 4:顯示最新的命令
Get-History -Count 1
此命令會取得命令歷程記錄中的最後一個命令。 最後一個命令是最近輸入的命令。 此命令會使用 Count 參數,只顯示一個命令。 根據預設,Get-History 取得最新的命令。 此命令可以縮寫為 「h -c 1」,相當於按下向上鍵。
範例 5:顯示歷程記錄中專案的所有屬性
Get-History | Format-List -Property *
此命令會顯示會話歷程記錄中專案的所有屬性。 管線運算符會將 Get-History 命令的結果傳遞至 Format-List Cmdlet,以顯示每個記錄專案的所有屬性。 這包括命令的標識碼、狀態和開始和結束時間。
參數
-Count
指定這個 Cmdlet 取得的最新歷程記錄項目數目。 根據預設,Get-History 會取得會話歷程記錄中的所有專案。 如果您在命令中使用 Count 和 Id 參數,則顯示會以 Id 參數指定的命令結尾。
根據預設,在 Windows PowerShell 2.0 中,Get-History 會取得 32 個最新的專案。
類型: | Int32 |
Position: | 1 |
預設值: | None |
必要: | False |
接受管線輸入: | False |
接受萬用字元: | False |
-Id
指定工作階段歷程記錄中項目識別碼的陣列。 Get-History 只會取得指定的專案。 如果您在命令中使用 標識符 和 Count 參數,Get-History 會取得以 Id 參數所指定專案結尾的最新專案。
類型: | Int64[] |
Position: | 0 |
預設值: | None |
必要: | False |
接受管線輸入: | True |
接受萬用字元: | False |
輸入
Int64
您可以使用管線將歷程記錄標識碼傳送至此 Cmdlet。
輸出
此 Cmdlet 會針對它取得的每個記錄專案傳回記錄物件。
備註
- 工作階段歷程記錄是工作階段期間輸入的命令清單。 會話歷程記錄代表命令的執行順序、狀態和開始和結束時間。 當您輸入每個命令時,PowerShell 會將它新增至歷程記錄,以便重複使用它。 如需命令歷程記錄的詳細資訊,請參閱 about_History。
- 從 Windows PowerShell 3.0 開始,
$MaximumHistoryCount
喜好設定變數的預設值為 4096。 在 Windows PowerShell 2.0 中,預設值為 64。 如需$MaximumHistoryCount
變數的詳細資訊,請參閱 about_Preference_Variables。