PowerShell History und Vorschläge nutzen mit PSReadLine

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:

„Prediction“-Feature des Moduls PSReadLine

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:

Installieren des PSReadLine-Moduls

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

Get-Module PSReadline

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“ }

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:

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:

Suche in der History

Wo wird die History gespeichert?

Das lässt sich ganz einfach hiermit herausfinden:

(Get-PSReadLineOption).HistorySavePath

Pfad zur PowerShell-History

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.