Sådan får du PowerShell-kommandohistorikken på Windows 10

PowerShell på Windows 10 kan give dig en historik over hver kommando, du har udført i den aktuelle session, men for mange brugere er dette ikke nok. De har brug for en historie med kommandoer udført på tværs af sessioner. Hvis du har brug for at få PowerShell-kommandohistorikken, og historikken for den aktuelle session alene ikke gør tricket, er der et script og en logfil, der kan hjælpe dig.

Kommandohistorik Aktuel session

Hvis du kører PowerShell 5, kan du få kommandohistorikken for den aktuelle session ved at køre følgende kommando;

Get-History

Som standard kan PowerShell gemme op til 50 kommandoer, men du kan ændre det for at gemme flere. Åbn PowerShell, og højreklik på titellinjen. Fra kontekstmenuen skal du gå til Egenskaber. Gå til fanen Indstillinger i vinduet Egenskaber. Du vil se en kommandohistoriksektion, hvor standarden er sat til 50. Skift den til en højere værdi.

  Sådan finder du dvaleknappen på en bærbar computer på Windows 10

PowerShell-historiklog

For at se historikloggen skal du først installere PSReadLine-modulet med følgende kommando;

Install-Module PSReadLine

Kør derefter følgende kommando, og den vil returnere en filplacering. Filen på denne placering vil give dig en komplet historik over hver kommando, du har kørt i PowerShell.

(Get-PSReadlineOption).HistorySavePath

Cross-session PowerShell-kommandohistorik

Dette er en lidt 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å denne placering.

C:Users<username>DocumentsWindowsPowerShell

Hvis der ikke er nogen fil der, skal du åbne PowerShell og køre følgende kommando. Den åbner din profilfil i Notesblok, men den fil eksisterer ikke, og PowerShell vil fortælle dig så meget og spørge, om du vil oprette den. Tillad den at oprette filen.

notepad $Profile

Luk notesblokfilen, der åbnes. Kør denne kommando i PowerShell for at sikre, at du kører PowerShell 5.

$PSVersionTable.PSVersion

Indstil derefter din udførelsespolitik til RemoteSigned med følgende kommando.

set-executionpolicy remotesigned

Dernæst skal du installere PsUrl og PSReadline moduler. Du kan installere dem med følgende kommando, men hvis du får en fejl, skal du bare installere dem manuelt ved den proces, der er beskrevet på de linkede sider, eller prøve at tilføje depotet som et pålideligt depot og derefter køre kommandoen igen.

install-module PsUrl
install-module PSReadline

Nu hvor disse moduler er blevet 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 kommandoen Get-History, men der er et meget afgørende trin for at sikre, at din historie er gemt. Du KAN IKKE lukke PowerShell ved at klikke på lukkeknappen. I stedet skal du altid lukke den med exit-kommandoen.

  Reparer Downloads-mappen, der tager for lang tid at åbne i Windows 10

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