PowerShell unter Windows 10 kann Ihnen einen Verlauf gebenVon jedem Befehl, den Sie in der aktuellen Sitzung ausgeführt haben, reicht dies jedoch für viele Benutzer nicht aus. Sie benötigen einen Verlauf von Befehlen, die über mehrere Sitzungen hinweg ausgeführt werden. Wenn Sie den PowerShell-Befehlsverlauf abrufen müssen und der Verlauf für die aktuelle Sitzung allein nicht ausreicht, gibt es ein Skript und eine Protokolldatei, die Ihnen dabei helfen können.
Befehlsverlauf Aktuelle Sitzung
Wenn Sie PowerShell 5 ausführen, können Sie den Befehlsverlauf für die aktuelle Sitzung abrufen, indem Sie den folgenden Befehl ausführen.
Get-History
Standardmäßig kann PowerShell bis zu 50 Befehle speichernSie können es aber ändern, um mehr zu sparen. Öffnen Sie PowerShell und klicken Sie mit der rechten Maustaste auf die Titelleiste. Gehen Sie im Kontextmenü zu Eigenschaften. Wechseln Sie im Eigenschaftenfenster zur Registerkarte Optionen. Es wird ein Abschnitt mit dem Befehlsverlauf angezeigt, in dem die Standardeinstellung 50 lautet. Ändern Sie den Wert auf einen höheren Wert.

PowerShell-Verlaufsprotokoll
Um das Verlaufsprotokoll anzuzeigen, müssen Sie zuerst das PSReadLine-Modul mit dem folgenden Befehl installieren.
Install-Module PSReadLine
Führen Sie als Nächstes den folgenden Befehl aus, und es wird ein Dateispeicherort zurückgegeben. Die Datei an diesem Speicherort enthält einen vollständigen Verlauf aller Befehle, die Sie in PowerShell ausführen.
(Get-PSReadlineOption).HistorySavePath

Sitzungsübergreifender PowerShell-Befehlsverlauf
Dies ist ein langwieriger Prozess, der sich jedoch lohnt. Diese Lösung stammt von Intel. Öffnen Sie zunächst den folgenden Speicherort und prüfen Sie, ob sich an diesem Speicherort eine Datei mit dem Namen Microsoft.PowerShell_profile.ps1 befindet.
C:Users<username>DocumentsWindowsPowerShell
Wenn dort keine Datei vorhanden ist, öffnen Sie PowerShell und führen Sie es ausden folgenden Befehl. Die Profildatei wird in Notepad geöffnet, aber diese Datei ist nicht vorhanden. PowerShell teilt Ihnen dies mit und fragt Sie, ob Sie sie erstellen möchten. Erlaube es, die Datei zu erstellen.
notepad $Profile
Schließen Sie die geöffnete Editor-Datei. Führen Sie in PowerShell diesen Befehl aus, um sicherzustellen, dass Sie PowerShell 5 ausführen.
$PSVersionTable.PSVersion
Setzen Sie als Nächstes Ihre Ausführungsrichtlinie mit dem folgenden Befehl auf RemoteSigned.
set-executionpolicy remotesigned
Als nächstes müssen Sie PsUrl und installierenPSReadline-Module. Sie können sie jedoch mit dem folgenden Befehl installieren. Wenn Sie eine Fehlermeldung erhalten, installieren Sie sie einfach manuell gemäß dem auf den verlinkten Seiten beschriebenen Vorgang, oder fügen Sie das Repository als vertrauenswürdiges Repository hinzu und führen Sie den Befehl erneut aus.
install-module PsUrl
install-module PSReadline
Nachdem diese Module installiert wurden, öffnen Sie diese Datei.
C:Users<username>DocumentsWindowsPowerShellMicrosoft.PowerShell_profile.ps1
Fügen Sie Folgendes in diese Datei ein und speichern Sie sie.
$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
Um den Befehlsverlauf in PowerShell anzuzeigen,Sie müssen den Befehl Get-History ausführen, es ist jedoch ein sehr wichtiger Schritt, um sicherzustellen, dass Ihr Verlauf gespeichert wird. Sie können PowerShell NICHT schließen, indem Sie auf die Schaltfläche "Schließen" klicken. Stattdessen müssen Sie es immer mit dem Befehl exit schließen.

Mit den Aufwärts- und Abwärtspfeiltasten können Sie durch die vorherigen Befehle blättern.
Bemerkungen