Das PowerShell-Modul PSReadLine erleichtert das Arbeiten mit der PowerShell, da es für bereits eingegebene Befehle eine “Vorhersage” anzeigen kann. Das sieht dann z.B. so aus:

PowerShell History und Vorschläge nutzen

Drückt man die Pfeiltaste nach rechts, wird der Befehl entspr. vervollständigt. Um dieses Feature zu aktiveren, sollte man am besten erstmal die neueste Version des Moduls installieren. Dies muss in einer administrativen PowerShell-Session gemacht werden:

PowerShell
Installieren des PSReadLine-Moduls

Hiermit könnt ihr euch die verwendete Version ausgeben lassen:

Get-Module PSReadline

PowerShell Anzeige der verwendeten PSReadLine-Version

Wenn ihr die PowerShell-Session einmal neu startet, solltet ihr nun wie oben zu sehen die entspr. Vorschläge aus eurer History angezeigt bekommen.

Farbe der Vorhersage ändern

Wem die Farbe der Vorschläge zu dunkel ist, der kann die Farbe ganz einfach anpassen. Als Vorschlag z.B. ein etwas besser lesbares grau:

Set-PSReadlineOption -Colors @{ „InlinePrediction“=“`e[90m“ }

PowerShell
Geänderte Farbe der Vorschlags-Vervollständigung

Vorschläge per Cursor-Tasten auswählen

Um dieses nette Feature zu nutzen, drückt ihr einfach einmal die Taste F2. Dann könnt ihr mit den Pfeiltasten zu den entspr. Befehlen aus der Vorschlagsliste navigieren:

PowerShell Befehls-History per Pfeiltasten auswählen

Sensitive Daten nicht in der History-Datei speichern

Damit sensible Daten wie Passwörter oder Keys nicht in der History-Datei gespeichert werden, kann man einen History Handler anlegen:

Set-PSReadLineOption -AddToHistoryHandler {
  param([string]$line)
  $sensitive = "password|asplaintext|token|key|secret"
  return ($line -notmatch $sensitive)
}

Eingaben mit diesen Inhalten werden dann nicht in der History-Datei abgespeichert.

Suche in der History

Um in seiner eigenen History nach bestimmten Befehlen zu suchen, kann man die Tastenkombination Strg+R verwenden.

Daraufhin öffnet sich die Backward-Suche und man kann beliebige Begriffe eingeben:

PowerShell
Suche in der History

Wo wird die History gespeichert?

Das lässt sich ganz einfach hiermit herausfinden:

(Get-PSReadLineOption).HistorySavePath

PowerShell Pfad zur PowerShell-History