PowerShell på Windows 10 kan give dig en historieaf hver kommando, du har udført i den aktuelle session, er det dog for mange brugere ikke nok. De har brug for en historie med kommandoer, der udføres på tværs af sessioner. Hvis du har brug for at hente PowerShell-kommandohistorikken, og historien for den aktuelle session alene ikke gør det, er der et script og en logfil, der kan hjælpe dig.
Kommandohistorie Aktuel session
Hvis du kører PowerShell 5, kan du hente kommandohistorikken for den aktuelle session ved at køre følgende kommando;
Get-History
Som standard kan PowerShell gemme op til 50 kommandoermen du kan ændre det for at spare mere. Åbn PowerShell, og højreklik på titellinjen. Gå til kontekstmenuen, gå til Egenskaber. Gå til fanen Indstillinger i egenskabsvinduet. Du vil se et kommandohistorik-afsnit, hvor standardindstillingen er sat til 50. Skift den til en højere værdi.

PowerShell-historiklog
For at se historieloggen skal du først installere PSReadLine-modulet med følgende kommando;
Install-Module PSReadLine
Kør derefter følgende kommando, og den returnerer en filplacering. Filen på dette sted giver dig en komplet historie over alle kommandoer, du har kørt i PowerShell.
(Get-PSReadlineOption).HistorySavePath

CrossShession PowerShell-kommandohistorie
Dette er lidt af en lang proces, men det er det værd. Denne løsning kommer fra Intel. Åbn først følgende placering, og kontroller, om der er en fil med navnet Microsoft.PowerShell_profile.ps1 på dette sted.
C:Users<username>DocumentsWindowsPowerShell
Hvis der ikke er nogen fil der, skal du åbne PowerShell og kørefølgende kommando. Det åbner din profilfil i Notepad, men den fil findes ikke, og PowerShell vil fortælle dig lige så meget og spørge, om du vil oprette den. Tillad det at oprette filen.
notepad $Profile
Luk notepad-filen, der åbnes. I PowerShell skal du køre denne kommando for at sikre dig, at du kører PowerShell 5.
$PSVersionTable.PSVersion
Sæt derefter din eksekveringspolitik til RemoteSIGN med følgende kommando.
set-executionpolicy remotesigned
Dernæst skal du installere PsUrl ogPSReadline moduler. Du kan installere dem med følgende kommando, men hvis du får en fejl, skal du bare installere dem manuelt ved hjælp af processen, der er skitseret på de linkede sider, eller prøve at tilføje depotet som et betroet depot og derefter køre kommandoen igen.
install-module PsUrl
install-module PSReadline
Nu hvor disse moduler er installeret, skal du åbne denne fil;
C:Users<username>DocumentsWindowsPowerShellMicrosoft.PowerShell_profile.ps1
Indsæt følgende i denne fil, og gem den.
$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
For at se kommandohistorikken i PowerShell,skal du køre Get-History-kommandoen, men der er et meget vigtigt trin til at sikre, at din historie er gemt. Du KAN IKKE lukke PowerShell ved at klikke på knappen Luk. I stedet skal du altid lukke det med exit-kommandoen.

Du kan bruge pil op og ned til at bladre gennem de foregående kommandoer.
Kommentarer