檢視所有 PowerShell 會話的命令歷史記錄
Rohan Timalsina
2022年5月16日
PowerShell 維護每個會話的歷史記錄。PowerShell 的 Get-History
cmdlet 列出了在當前會話期間輸入的所有命令。
$MaximumHistoryCount
變數確定會話歷史記錄中的條目數。預設值為 4096
。
它顯示了每個命令及其 ID,它指示了它們的執行順序。
Get-History
輸出:
Id CommandLine
-- -----------
1 Get-Date
2 Get-ChildItem
3 Get-Content test.txt
4 Get-Command gcc
Get-History
僅顯示在當前會話中輸入的先前命令。
預設情況下,PowerShell 將所有會話的命令歷史記錄儲存在位於使用者主目錄中的文字檔案中。本教程將教你檢視所有 PowerShell 會話中的命令歷史記錄。
使用 (Get-PSReadlineOption).HistorySavePath
檢視所有 PowerShell 會話的命令歷史記錄
以下命令列印儲存命令歷史記錄的檔案的路徑。
(Get-PSReadlineOption).HistorySavePath
輸出:
C:\Users\rhntm\AppData\Roaming\Microsoft\Windows\PowerShell\PSReadLine\ConsoleHost_history.txt
你可以使用 Get-Content
cmdlet 列出儲存在該檔案中的所有內容。
Get-Content (Get-PSReadlineOption).HistorySavePath
或者
Get-Content C:\Users\rhntm\AppData\Roaming\Microsoft\Windows\PowerShell\PSReadLine\ConsoleHost_history.txt
這兩個命令都將在控制檯上列印之前在所有 PowerShell 會話中執行的一長串命令。
這是輸出的簡短概述。
輸出:
Get-Date
date = Get-Date -format "yyyyMMdd"
$date = Get-Date -format "yyyyMMdd"
date
$date
$dateStr = $date -format "yyyyMMdd"
$dateStr = date -format "yyyyMMdd"
$dateStr
你還可以在 notepad
等文字編輯器中開啟檔案並檢視命令歷史記錄。
notepad (Get-PSReadlineOption).HistorySavePath
輸出:
Author: Rohan Timalsina