Get-History

取得目前工作階段期間輸入的命令清單。

Syntax

Get-History
   [[-Id] <Int64[]>]
   [[-Count] <Int32>]
   [<CommonParameters>]

Description

Cmdlet Get-History 會取得會話歷程記錄,也就是目前會話期間輸入的命令清單。

PowerShell 會自動維護每個工作階段的歷程記錄。 會話歷程記錄中的項目數目取決於喜好設定變數的值 $MaximumHistoryCount 。 從 Windows PowerShell 3.0 開始,預設值為 4096。 根據預設,歷程記錄檔會儲存在主目錄中,但您可以將檔案儲存在任何位置。 如需PowerShell中記錄功能的詳細資訊,請參閱 about_History

會話歷程記錄會與 PSReadLine 模組所維護的歷程記錄分開管理。 這兩個歷程記錄可在載入 PSReadLine會話中使用。 此 Cmdlet 僅適用於會話歷程記錄。 如需詳細資訊, 請參閱 about_PSReadLine

範例

範例 1:取得會話歷程記錄

這個範例會取得會話歷程記錄中的專案。 默認顯示會顯示每個命令及其識別碼,指出其執行的順序。

Get-History

範例 2:取得包含字串的專案

此範例會取得包含字串服務的命令歷程記錄中的專案。 第一個命令會取得會話歷程記錄中的所有專案。 管線運算符 (|) 會將結果傳遞至 Where-Object Cmdlet,而 Cmdlet 只會選取包含服務的命令。

Get-History | Where-Object {$_.CommandLine -like "*Service*"}

範例 3:將歷程記錄項目匯出至特定標識符

本範例會取得最後五個以專案 7 結尾的最近歷程記錄專案。 管線運算符會將結果傳遞至 Export-Csv Cmdlet,此 Cmdlet 會將歷程記錄格式化為逗號分隔文字,並將它儲存在History.csv檔案中。 檔案包含當您將歷程記錄格式化為清單時所顯示的數據。 這包括命令的狀態和開始和結束時間。

Get-History -ID 7 -Count 5 | Export-Csv -Path History.csv

範例 4:顯示最新的命令

這個範例會取得命令歷程記錄中的最後一個命令。 最後一個命令是最近輸入的命令。 此命令會 使用 Count 參數只顯示一個命令。 根據預設, Get-History 會取得最新的命令。 此命令可以縮寫為 「h -c 1」,相當於按下向上鍵。

Get-History -Count 1

範例 5:顯示歷程記錄中專案的所有屬性

本範例會顯示會話歷程記錄中專案的所有屬性。 管線運算符會將命令的結果 Get-History 傳遞至 Format-List Cmdlet,以顯示每個記錄專案的所有屬性。 這包括命令的標識碼、狀態和開始和結束時間。

Get-History | Format-List -Property *

參數

-Count

指定這個 Cmdlet 取得的最新歷程記錄項目數目。 根據預設,會 Get-History 取得會話歷程記錄中的所有專案。 如果您在命令中使用 CountId 參數,則顯示會以 Id 參數指定的命令結尾。

根據預設,在 Windows PowerShell 2.0 中, Get-History 會取得 32 個最新的專案。

Type:Int32
Position:1
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Id

指定工作階段歷程記錄中項目識別碼的陣列。 Get-History 只會取得指定的專案。 如果您在命令中使用IdCount 參數,Get-History取得以Id參數所指定的項目結尾的最新專案。

Type:Int64[]
Position:0
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

輸入

Int64

您可以使用管線將歷程記錄標識碼傳送至此 Cmdlet。

輸出

HistoryInfo

此 Cmdlet 會針對它取得的每個記錄專案傳回記錄物件。

備註

PowerShell 包含下列的 Get-History別名:

  • 所有平臺:
    • h
    • history
    • ghy

工作階段歷程記錄是工作階段期間輸入的命令清單。 會話歷程記錄代表命令的執行順序、狀態和開始和結束時間。 當您輸入每個命令時,PowerShell 會將它新增至歷程記錄,以便重複使用它。 如需命令歷程記錄的詳細資訊,請參閱 about_History

從 Windows PowerShell 3.0 開始,喜好設定變數的 $MaximumHistoryCount 預設值為 4096。 在 Windows PowerShell 2.0 中,預設值為 64。 如需變數的詳細資訊 $MaximumHistoryCount ,請參閱 about_Preference_Variables