Get-History
取得目前工作階段期間輸入的命令清單。
語法
Default (預設值)
Get-History
[[-Id] <Int64[]>]
[[-Count] <Int32>]
[<CommonParameters>]
Description
Get-History Cmdlet 會取得工作階段歷程記錄,也就是目前工作階段期間輸入的命令清單。
PowerShell 會自動維護每個工作階段的歷程記錄。 會話歷程記錄中的項目數目取決於 $MaximumHistoryCount 喜好設定變數的值。 從 Windows PowerShell 3.0 開始,預設值為 4096。 根據預設,歷程記錄檔會儲存在主目錄中,但您可以將檔案儲存在任何位置。 如需 PowerShell 中歷程記錄功能的詳細資訊,請參閱 about_History。
會話歷程記錄會與 PSReadLine 模組所維護的歷程記錄分開管理。 這兩個歷程記錄可在載入 PSReadLine 的會話中使用。 此 Cmdlet 僅適用於會話歷程記錄。 如需詳細資訊,請參閱 about_PSReadLine。
範例
範例 1:取得會話歷程記錄
這個範例會取得會話歷程記錄中的條目。 默認顯示會顯示每個命令及其識別碼,指出其執行的順序。
Get-History
範例 2:取得包含字串的條目
此範例會在命令歷程記錄中取得包含字串「service」的項目。 第一個命令會取得會話歷程記錄中的所有條目。 管線運算符 (|) 會將結果傳遞至 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 會取得會話歷程記錄中的所有專案。 如果您在命令中使用 Count 和 Id 參數,則顯示會以 Id 參數指定的命令結尾。
根據預設,在 Windows PowerShell 2.0 中,Get-History 取得 32 個最新的項目。
參數屬性
| 類型: | Int32 |
| 預設值: | None |
| 支援萬用字元: | False |
| 不要顯示: | False |
參數集
(All)
| Position: | 1 |
| 必要: | False |
| 來自管線的值: | False |
| 來自管線按屬性名稱的值: | False |
| 來自剩餘引數的值: | False |
-Id
指定會話歷史記錄中項目 ID 的數組。
Get-History 只會取得指定的條目。 如果您在命令中使用 標識碼 和 Count 參數,Get-History 會取得最新條目,並以 標識碼 參數所指定的條目作結尾。
參數屬性
| 類型: | Int64[] |
| 預設值: | None |
| 支援萬用字元: | False |
| 不要顯示: | False |
參數集
(All)
| Position: | 0 |
| 必要: | False |
| 來自管線的值: | True |
| 來自管線按屬性名稱的值: | False |
| 來自剩餘引數的值: | False |
CommonParameters
此 Cmdlet 支援一般參數:-Debug、-ErrorAction、-ErrorVariable、-InformationAction、-InformationVariable、-OutBuffer、-OutVariable、-PipelineVariable、-ProgressAction、-Verbose、-WarningAction 和 -WarningVariable。 如需詳細資訊,請參閱 about_CommonParameters。
輸入
Int64
您可以使用管線將歷程記錄標識碼傳送至此 Cmdlet。
輸出
HistoryInfo
此 Cmdlet 會為其取得的每個記錄專案傳回一個記錄物件。
備註
PowerShell 包含下列 Get-History的別名:
- 所有平臺:
hhistoryghy
工作階段歷程記錄是工作階段期間輸入的命令清單。 會話歷程記錄代表命令的執行順序、狀態和開始和結束時間。 當您輸入每個命令時,PowerShell 會將它新增至歷程記錄,以便重複使用它。 如需命令歷程記錄的詳細資訊,請參閱 about_History。
從 Windows PowerShell 3.0 開始,$MaximumHistoryCount 喜好設定變數的預設值會 4096。 在 Windows PowerShell 2.0 中,預設值為 64。 如需 $MaximumHistoryCount 變數的詳細資訊,請參閱 about_Preference_Variables。