PowerShell pe Windows 10 vă poate oferi un istoric al fiecărei comenzi pe care le-ați executat în sesiunea curentă, totuși, pentru mulți utilizatori, acest lucru nu este suficient. Au nevoie de un istoric al comenzilor executate pe parcursul sesiunilor. Dacă trebuie să obțineți istoricul comenzilor PowerShell, iar istoricul pentru sesiunea curentă singur nu face treaba, există un script și un fișier jurnal care vă pot ajuta.
Cuprins
Istoricul comenzilor Sesiunea curentă
Dacă rulați PowerShell 5, puteți obține istoricul comenzilor pentru sesiunea curentă rulând următoarea comandă;
Get-History
În mod implicit, PowerShell poate salva până la 50 de comenzi, dar le puteți modifica pentru a salva mai multe. Deschideți PowerShell și faceți clic dreapta pe bara de titlu. Din meniul contextual, accesați Proprietăți. În fereastra Proprietăți, accesați fila Opțiuni. Veți vedea o secțiune Istoricul comenzilor în care valoarea implicită este setată la 50. Schimbați-o la o valoare mai mare.
Jurnalul istoric PowerShell
Pentru a vizualiza istoricul istoric, trebuie să instalați mai întâi modulul PSReadLine cu următoarea comandă;
Install-Module PSReadLine
Apoi, rulați următoarea comandă și va returna o locație a fișierului. Fișierul din această locație vă va oferi un istoric complet al fiecărei comenzi pe care le-ați executat în PowerShell.
(Get-PSReadlineOption).HistorySavePath
Istoricul comenzilor PowerShell între sesiuni
Acesta este un proces puțin lung, dar merită. Această soluție provine din Intel. Mai întâi deschideți următoarea locație și verificați dacă există un fișier numit Microsoft.PowerShell_profile.ps1 în această locație.
C:Users<username>DocumentsWindowsPowerShell
Dacă nu există niciun fișier acolo, deschideți PowerShell și executați următoarea comandă. Acesta vă va deschide fișierul de profil în Notepad, dar acel fișier nu există și PowerShell vă va spune atât de multe și vă va întreba dacă doriți să îl creați. Permiteți-i să creeze fișierul.
notepad $Profile
Închideți fișierul Notepad care se deschide. În PowerShell, rulați această comandă pentru a vă asigura că rulați PowerShell 5.
$PSVersionTable.PSVersion
Apoi, setați politica de execuție la RemoteSigned cu următoarea comandă.
set-executionpolicy remotesigned
Apoi, trebuie să instalați PsUrl și PSReadline module. Puteți să le instalați cu următoarea comandă, totuși, dacă primiți o eroare, instalați-le manual prin procesul descris în paginile legate sau încercați să adăugați depozitul ca depozit de încredere și apoi executați din nou comanda.
install-module PsUrl
install-module PSReadline
Acum că acele module au fost instalate, deschideți acest fișier;
C:Users<username>DocumentsWindowsPowerShellMicrosoft.PowerShell_profile.ps1
Lipiți următoarele în acest fișier și salvați-l.
$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
Pentru a vedea istoricul comenzilor în PowerShell, trebuie să rulați comanda Get-History, dar există un pas foarte important pentru a vă asigura că istoricul este salvat. NU POȚI închide PowerShell făcând clic pe butonul de închidere. În schimb, trebuie să îl închideți întotdeauna cu comanda de ieșire.
Puteți folosi tastele săgeți sus și jos pentru a parcurge comenzile anterioare.