Pristup istoriji komandi u PowerShell-u na Windows 10
PowerShell na Windows 10 operativnom sistemu beleži sve komande koje ste uneli tokom trenutne sesije. Ipak, mnogim korisnicima to nije dovoljno. Oni žele pristup istoriji komandi kroz različite sesije. Ako vam je potrebna istorija svih PowerShell komandi, a istorija tekuće sesije nije dovoljna, postoji skripta i datoteka evidencije koje vam mogu pomoći.
Istorija komandi trenutne sesije
Ukoliko koristite PowerShell 5, istoriju komandi za trenutnu sesiju možete dobiti koristeći sledeću komandu:
Get-History
PowerShell po podrazumevanom podešavanju čuva do 50 komandi, ali ovu vrednost možete promeniti i povećati broj sačuvanih komandi. Otvorite PowerShell i desnim klikom miša na naslovnu traku, izaberite „Svojstva“ iz kontekstnog menija. U prozoru „Svojstva“ idite na karticu „Opcije“. Videćete odeljak „Istorija komandi“ gde je podrazumevana vrednost 50. Promenite ovu vrednost na željenu, veću vrednost.
Dnevnik istorije PowerShell-a
Da biste pristupili dnevniku istorije, prvo morate instalirati PSReadLine modul pomoću sledeće komande:
Install-Module PSReadLine
Zatim, pokrenite sledeću komandu. Ona će vam prikazati lokaciju datoteke u kojoj se čuva kompletna istorija svih komandi koje ste izvršili u PowerShell-u:
(Get-PSReadlineOption).HistorySavePath
Istorija PowerShell komandi između sesija
Ovaj proces je malo složeniji, ali je koristan. Ovo rešenje potiče od Intel. Prvo, otvorite sledeću lokaciju i proverite da li postoji datoteka pod nazivom `Microsoft.PowerShell_profile.ps1` na toj lokaciji:
C:Users<username>DocumentsWindowsPowerShell
Ukoliko datoteka ne postoji, otvorite PowerShell i izvršite sledeću komandu. Ona će otvoriti vaš profil datoteke u Notepadu. Ako datoteka ne postoji, PowerShell će vas obavestiti o tome i pitati da li želite da je kreirate. Dozvolite PowerShell-u da kreira datoteku.
notepad $Profile
Zatvorite notepad datoteku koja se otvorila. U PowerShell-u izvršite ovu komandu kako biste bili sigurni da koristite PowerShell 5.
$PSVersionTable.PSVersion
Zatim, postavite vašu politiku izvršavanja na RemoteSigned pomoću sledeće komande:
set-executionpolicy remotesigned
Potrebno je da instalirate PsUrl i PSReadLine module. Možete ih instalirati sledećom komandom, ukoliko dobijete grešku, možete ih instalirati ručno, prateći instrukcije sa linkova ili dodati repozitorijum kao pouzdan, pa ponovo pokrenuti komandu.
install-module PsUrl
install-module PSReadline
Sada kada su moduli instalirani, otvorite sledeću datoteku:
C:Users<username>DocumentsWindowsPowerShellMicrosoft.PowerShell_profile.ps1
Kopirajte sledeći kod u tu datoteku i sačuvajte promene:
$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
Da biste pristupili istoriji komandi u PowerShell-u, potrebno je da koristite komandu `Get-History`, ali postoji jedan vrlo važan korak da biste bili sigurni da je vaša istorija sačuvana. NEMOJTE zatvarati PowerShell klikom na dugme za zatvaranje. Umesto toga, uvek ga zatvarajte koristeći komandu `exit`.
Možete koristiti tastere sa strelicama nagore i nadole za kretanje kroz prethodne komande.