- - Jak získat historii příkazů PowerShell ve Windows 10

Jak získat historii příkazů PowerShell ve Windows 10

PowerShell ve Windows 10 vám může dát historiikaždého příkazu, který jste provedli v aktuální relaci, ale pro mnoho uživatelů to nestačí. Potřebují historii příkazů prováděných během relací. Pokud potřebujete získat historii příkazů PowerShell a historie pouze pro aktuální relaci nepředstavuje trik, existuje skript a soubor protokolu, který vám může pomoci.

Historie příkazů Aktuální relace

Pokud používáte PowerShell 5, můžete získat historii příkazů pro aktuální relaci spuštěním následujícího příkazu;

Get-History

Ve výchozím nastavení může PowerShell uložit až 50 příkazůale můžete ji změnit a ušetřit více. Otevřete PowerShell a klepněte pravým tlačítkem myši na záhlaví. Z kontextové nabídky přejděte na Vlastnosti. V okně Vlastnosti přejděte na kartu Možnosti. Uvidíte sekci Historie příkazů, kde je výchozí hodnota nastavena na 50. Změňte ji na vyšší hodnotu.

Protokol historie PowerShell

Chcete-li zobrazit protokol historie, musíte nejprve nainstalovat modul PSReadLine pomocí následujícího příkazu;

Install-Module PSReadLine

Dále spusťte následující příkaz a vrátí umístění souboru. Soubor v tomto umístění vám poskytne úplnou historii každého příkazu, který jste spustili v prostředí PowerShell.

(Get-PSReadlineOption).HistorySavePath

Historie příkazů PowerShell napříč relacemi

Je to trochu dlouhý proces, ale stojí za to. Toto řešení pochází od společnosti Intel. Nejprve otevřete následující umístění a zkontrolujte, zda je v tomto umístění soubor s názvem Microsoft.PowerShell_profile.ps1.

C:Users<username>DocumentsWindowsPowerShell

Pokud tam není žádný soubor, otevřete PowerShell a spusťtenásledující příkaz. Otevře svůj soubor profilu v programu Poznámkový blok, ale tento soubor neexistuje a PowerShell vám to řekne tolik a zeptá se, zda jej chcete vytvořit. Nechte jej vytvořit soubor.

notepad $Profile

Zavřete soubor poznámkového bloku, který se otevře. V PowerShell spusťte tento příkaz a ujistěte se, že používáte PowerShell 5.

$PSVersionTable.PSVersion

Poté pomocí následujícího příkazu nastavte zásady provádění na RemoteSigned.

set-executionpolicy remotesigned

Dále je třeba nainstalovat PsUrl aModuly PSReadline. Můžete je však nainstalovat pomocí následujícího příkazu, ale pokud narazíte na chybu, stačí je nainstalovat ručně postupem popsaným na propojených stránkách, nebo zkuste přidat úložiště jako důvěryhodné úložiště a poté příkaz spustit znovu.

install-module PsUrl
install-module PSReadline

Po nainstalování těchto modulů otevřete tento soubor;

C:Users<username>DocumentsWindowsPowerShellMicrosoft.PowerShell_profile.ps1

Vložte následující soubor do tohoto souboru a uložte jej.

$HistoryFilePath = Join-Path ([Environment]::GetFolderPath("UserProfile")) .ps_history
Register-EngineEvent PowerShell.Exiting -Action { Get-History | Export-Clixml $HistoryFilePath } | out-null
if (Test-path $HistoryFilePath) { Import-Clixml $HistoryFilePath | Add-History }
# if you don"t already have this configured...
Set-PSReadlineKeyHandler -Key UpArrow -Function HistorySearchBackward
Set-PSReadlineKeyHandler -Key DownArrow -Function HistorySearchForward

Chcete-li zobrazit historii příkazů v prostředí PowerShell,musíte spustit příkaz Get-History, existuje však jeden velmi důležitý krok k zajištění toho, aby byla vaše historie uložena. NEMŮŽETE zavřít PowerShell klepnutím na tlačítko Zavřít. Místo toho ji musíte vždy zavřít příkazem exit.

Pomocí kláves se šipkami nahoru a dolů můžete procházet předchozí příkazy.

Komentáře