PowerShell på Windows 10 kan ge dig en historikav varje kommando du har utfört under den aktuella sessionen är det dock inte tillräckligt för många användare. De behöver en historik med kommandon som utförs över sessioner. Om du behöver hämta kommandohistoriken PowerShell, och historiken för den aktuella sessionen bara inte gör susen, finns det ett skript och en loggfil som kan hjälpa dig.
Kommandohistorik Aktuell session
Om du kör PowerShell 5 kan du få kommandohistoriken för den aktuella sessionen genom att köra följande kommando;
Get-History
Som standard kan PowerShell spara upp till 50 kommandonmen du kan ändra det för att spara mer. Öppna PowerShell och högerklicka på titelraden. Gå till snabbmenyn och gå till Egenskaper. Gå till fliken Alternativ i Egenskapsfönstret. Du kommer att se ett kommandohistorikavsnitt där standarden är inställd på 50. Ändra det till ett högre värde.

PowerShell-historiklogg
För att kunna se historieloggen måste du först installera PSReadLine-modulen med följande kommando;
Install-Module PSReadLine
Kör sedan följande kommando så returnerar det en filplats. Filen på den här platsen ger dig en fullständig historik över alla kommandon du har kört i PowerShell.
(Get-PSReadlineOption).HistorySavePath

CrossShession PowerShell-kommandohistorik
Det här är lite av en lång process men det är värt det. Denna lösning kommer från Intel. Öppna först följande plats och kontrollera om det finns en fil med namnet Microsoft.PowerShell_profile.ps1 på den här platsen.
C:Users<username>DocumentsWindowsPowerShell
Om det inte finns någon fil där, öppna PowerShell och körföljande kommando. Den öppnar din profilfil i Notepad men den filen finns inte och PowerShell kommer att berätta lika mycket för dig och fråga om du vill skapa den. Låt den skapa filen.
notepad $Profile
Stäng anteckningsfilen som öppnas. Kör det här kommandot i PowerShell för att se till att du kör PowerShell 5.
$PSVersionTable.PSVersion
Ställ sedan din körningspolicy till RemoteSIGN med följande kommando.
set-executionpolicy remotesigned
Därefter måste du installera PsUrl ochPSReadline-moduler. Du kan installera dem med följande kommando men om du får ett fel, installerar du dem manuellt genom processen som visas på de länkade sidorna eller försöker lägga till förvaret som ett betrodd arkiv och sedan köra kommandot igen.
install-module PsUrl
install-module PSReadline
Nu när dessa moduler har installerats öppnar du den här filen.
C:Users<username>DocumentsWindowsPowerShellMicrosoft.PowerShell_profile.ps1
Klistra in följande i den här filen och spara 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
För att se kommandohistoriken i PowerShell,Du måste köra Get-History-kommandot men det finns ett mycket viktigt steg för att se till att din historia är sparad. Du KAN INTE stänga PowerShell genom att klicka på stängningsknappen. Istället måste du alltid stänga det med exit-kommandot.

Du kan använda upp- och nedpiltangenterna för att bläddra igenom de tidigare kommandona.
kommentarer