PowerShell ist ein leistungsstarkes Tool für Administratoren und Entwickler, aber sich wiederholende Aufgaben können Sie ausbremsen. Indem Sie Ihren Cmdlet-Verlauf verwalten und die Funktionen von PSReadLine, können Sie Ihren Workflow optimieren, Zeit sparen und Ihre Produktivität steigern. Dieser Leitfaden führt Sie durch praktische Tipps und Szenarien, um den PowerShell-Cmdlet-Verlauf und PSReadLine optimal zu nutzen.
Warum die Verwaltung des Cmdlet-Verlaufs wichtig ist
Stellen Sie sich vor, Sie führen wiederholt eine komplexe Abfolge von Befehlen aus oder beheben Fehler in einem Skript, das sich über mehrere Zeilen erstreckt. Anstatt Befehle erneut einzugeben oder alte Skripte zu durchsuchen, können Sie für eine schnelle Wiederverwendung auf Ihren Cmdlet-Verlauf zugreifen. Mit PSReadLine, können Sie noch einen Schritt weiter gehen, indem Sie Ihre Erfahrung anpassen und die prädiktive IntelliSense aktivieren.
Auf den Cmdlet-Verlauf zugreifen
PowerShell speichert Ihren Befehlsverlauf automatisch in einer Datei, sodass Sie ihn leicht nachschlagen oder bearbeiten können. So können Sie darauf zugreifen:
Speicherort der Cmdlet-Verlaufsdatei
Die Cmdlet-Verlaufsdatei befindet sich unter:C:\Users\%USERPROFILE%\AppData\Roaming\Microsoft\Windows\PowerShell\PSReadLine

Schritte zum Verwalten des Cmdlet-Verlaufs
- Datei suchen
Öffnen Sie den Ordner und suchen Sie die Datei mit dem NamenConsoleHost_history.txt. - Datei bearbeiten
Verwenden Sie einen beliebigen Texteditor (z. B. Editor oder VS Code), um Befehle hinzuzufügen, zu entfernen oder zu ändern. - Verknüpfung erstellen
Erstellen Sie eine Verknüpfung zur Datei auf Ihrem Desktop für den schnellen Zugriff.
Typischer Anwendungsfall
Ein typisches Szenario ist die Wiederverwendung einer Befehlsabfolge für die Serverwartung. Wenn Sie beispielsweise häufig Befehle ausführen, um Dienste neu zu starten, Protokolle zu prüfen oder Einstellungen zu konfigurieren, können Sie diese Befehle für den schnellen Zugriff in der Verlaufsdatei speichern.
Das volle Potenzial von PSReadLine ausschöpfen
PSReadLine ist ein Modul, das die PowerShell-Konsolenerfahrung verbessert. Es bietet Funktionen wie Syntaxhervorhebung, prädiktive IntelliSense und benutzerdefinierte Tastenbelegungen und erleichtert so die Arbeit mit PowerShell.
Hauptfunktionen von PSReadLine
- Syntaxhervorhebung
Hebt Syntaxfehler hervor und macht Befehle besser lesbar. - Prädiktive IntelliSense
Schlägt Befehle automatisch anhand Ihres Verlaufs oder von Plug-ins vor. - Benutzerdefinierte Tastenbelegungen
Ordnen Sie Tasten benutzerdefinierten Aktionen für eine schnellere Ausführung zu. - Mehrzeilige Bearbeitung
Bearbeiten und führen Sie mehrzeilige Befehle nahtlos aus. - Dynamische Hilfeanzeige
Zeigt Hilfeinformationen direkt in der Konsole an, ohne dass Sie den Überblick verlieren.
Praktische Szenarien für die Verwendung von PSReadLine
Szenario 1: Sich wiederholende Aufgaben automatisieren
Nehmen wir an, Sie starten häufig einen Webserver neu und prüfen seinen Status. Anstatt diese Befehle jedes Mal einzugeben, können Sie sie im Verlauf speichern oder einer Tastenkombination zuordnen.
Restart-Service -Name "WebServer"
Get-Service -Name "WebServer" | Select-Object Status
Szenario 2: Prädiktive IntelliSense für schnelleres Auffinden von Befehlen
Die prädiktive IntelliSense hilft Ihnen, Befehle schnell zu finden und auszuführen. Wenn Sie beispielsweise häufig Get-Process, werden beim Eingeben von „Get“ Befehle aus Ihrem Verlauf vorgeschlagen, darunter Get-Process.
So aktivieren Sie die prädiktive IntelliSense:
Set-PSReadLineOption -PredictionSource History
Szenario 3: Benutzerdefinierte Tastenbelegungen für mehr Effizienz
Sie können eine Taste belegen, um schnell rückwärts durch Ihren Befehlsverlauf zu suchen:
Set-PSReadLineKeyHandler -Key UpArrow -Function HistorySearchBackward
Oder erstellen Sie eine benutzerdefinierte Belegung, um einen Befehl im Verlauf zu speichern, ohne ihn auszuführen:
$parameters = @{
Key = 'Alt+w'
ScriptBlock = {
$line = $null
$cursor = $null
[Microsoft.PowerShell.PSConsoleReadLine]::GetBufferState([ref]$line, [ref]$cursor)
[Microsoft.PowerShell.PSConsoleReadLine]::AddToHistory($line)
[Microsoft.PowerShell.PSConsoleReadLine]::RevertLine()
}
}
Set-PSReadLineKeyHandler @parameters
Szenario 4: Sichere Verwaltung des Befehlsverlaufs
PSReadLine filtert vertrauliche Daten wie Kennwörter und Token aus der Verlaufsdatei, um Ihre Sicherheit zu schützen. Zum Beispiel:
$password = 'MySecurePassword'
Set-Secret -Name "MySecret" -SecretValue $password
Diese Befehle werden nicht in der Verlaufsdatei gespeichert.
PSReadLine installieren
PSReadLine ist über den PowerShell-Katalog verfügbar. Um es zu installieren, führen Sie Folgendes aus:
Install-Module -Name PSReadLine -AllowClobber -Force
Hinweis: PSReadLine erfordert PowerShell 5.1 oder neuer. Es funktioniert mit Windows Terminal, Visual Studio Code und dem Standard-Windows-Konsolenhost, aber nicht mit Windows PowerShell ISE.
Versionshighlights
PSReadLine hat sich seit seiner ersten Veröffentlichung in Windows PowerShell 5.1 erheblich weiterentwickelt. Zu den wichtigsten Versionen gehören:
- v2.3.6: Mit PowerShell 7.4.7 und 7.5.0 ausgeliefert
- v2.3.4: führte Verbesserungen bei der Bereinigung vertraulicher Daten ein.
- v2.2.6: verbesserte mehrzeilige Bearbeitung und prädiktive IntelliSense.
Weitere Informationen finden Sie in den Versionshinweisen zu about_PSReadLine.
Mehr über PSReadLine erfahren
Weitere Funktionen und Beispiele finden Sie in der offiziellen Dokumentation: