共用方式為


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 會取得會話歷程記錄中的所有專案。 如果您在命令中使用 CountId 參數,則顯示會以 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。

輸出

HistoryInfo

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

備註

  • 工作階段歷程記錄是工作階段期間輸入的命令清單。 會話歷程記錄代表命令的執行順序、狀態和開始和結束時間。 當您輸入每個命令時,PowerShell 會將它新增至歷程記錄,以便重複使用它。 如需命令歷程記錄的詳細資訊,請參閱 about_History
  • 從 Windows PowerShell 3.0 開始,$MaximumHistoryCount 喜好設定變數的預設值為 4096。 在 Windows PowerShell 2.0 中,預設值為 64。 如需 $MaximumHistoryCount 變數的詳細資訊,請參閱 about_Preference_Variables