Cum să obțineți istoricul comenzilor PowerShell pe Windows 10

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.

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.

  Ce este Windows Spotlight?

Puteți folosi tastele săgeți sus și jos pentru a parcurge comenzile anterioare.