A PowerShell parancselőzmények lekérése Windows 10 rendszeren

A Windows 10 rendszeren futó PowerShell előzményeket tud adni az aktuális munkamenetben végrehajtott összes parancsról, azonban sok felhasználó számára ez nem elég. Szükségük van a munkamenetek során végrehajtott parancsok előzményeire. Ha meg kell szereznie a PowerShell-parancselőzményeket, és az aktuális munkamenet előzményei önmagában nem teszik meg a trükköt, van egy parancsfájl és egy naplófájl, amely segíthet.

Parancstörténet Current Session

Ha a PowerShell 5-öt futtatja, a következő parancs futtatásával lekérheti az aktuális munkamenet parancselőzményeit;

Get-History

Alapértelmezés szerint a PowerShell legfeljebb 50 parancsot tud elmenteni, de módosíthatja, hogy többet menthessen. Nyissa meg a PowerShellt, és kattintson a jobb gombbal a címsorra. A helyi menüből lépjen a Tulajdonságok menüpontra. A Tulajdonságok ablakban lépjen a Beállítások fülre. Látni fog egy Parancselőzmények részt, ahol az alapértelmezett érték 50. Módosítsa magasabb értékre.

  Mi volt az IBM OS/2, és miért veszítette el a Windows számára?

PowerShell előzménynapló

Az előzménynapló megtekintéséhez először telepítenie kell a PSReadLine modult a következő paranccsal;

Install-Module PSReadLine

Ezután futtassa a következő parancsot, és visszaadja a fájl helyét. Az ezen a helyen található fájl a PowerShellben futtatott összes parancs teljes előzményét adja meg.

(Get-PSReadlineOption).HistorySavePath

Munkamenetek közötti PowerShell-parancstörténet

Ez egy kicsit hosszú folyamat, de megéri. Ez a megoldás innen származik Intel. Először nyissa meg a következő helyet, és ellenőrizze, hogy ezen a helyen található-e Microsoft.PowerShell_profile.ps1 fájl.

C:Users<username>DocumentsWindowsPowerShell

Ha nincs ott fájl, nyissa meg a PowerShellt, és futtassa a következő parancsot. Megnyitja a profilfájlt a Jegyzettömbben, de ez a fájl nem létezik, és a PowerShell elmondja ezt, és megkérdezi, hogy létre szeretné-e hozni. Engedélyezze a fájl létrehozását.

notepad $Profile

Zárja be a megnyíló jegyzettömb fájlt. A PowerShellben futtassa ezt a parancsot, hogy megbizonyosodjon arról, hogy a PowerShell 5 fut.

$PSVersionTable.PSVersion

Ezután állítsa a végrehajtási házirendet RemoteSigned értékre a következő paranccsal.

set-executionpolicy remotesigned

Ezután telepítenie kell a PsUrl és PSReadline modulok. Telepítheti őket a következő paranccsal, ha hibaüzenetet kap, egyszerűen telepítse őket manuálisan a hivatkozott oldalakon leírt folyamat szerint, vagy próbálja meg hozzáadni a lerakat megbízható tárhelyként, majd futtassa újra a parancsot.

install-module PsUrl
install-module PSReadline

Most, hogy ezek a modulok telepítve vannak, nyissa meg ezt a fájlt;

C:Users<username>DocumentsWindowsPowerShellMicrosoft.PowerShell_profile.ps1

Illessze be a következőket ebbe a fájlba, és mentse el.

$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

A PowerShell parancselőzményeinek megtekintéséhez futtassa a Get-History parancsot, azonban van egy nagyon fontos lépés az előzmények mentésének biztosításához. A PowerShellt NEM zárhatja be a bezárás gombra kattintva. Ehelyett mindig be kell zárni az exit paranccsal.

  A név megváltoztatása a Windows 10 bejelentkezési képernyőjén

A Fel és Le nyílbillentyűkkel lépkedhet az előző parancsok között.