- - Sådan henter du PowerShell-kommandohistorikken i Windows 10

Sådan henter du PowerShell-kommandohistorikken i Windows 10

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