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.
Tartalomjegyzék
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.
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 Fel és Le nyílbillentyűkkel lépkedhet az előző parancsok között.