Textfarben der PowerShell ändern
Ich möchte meine PowerShell-Fenster in einer anderen Hintergrundfarbe anzeigen lassen. Allerdings färbt PowerShell bei der Befehlseingabe verschiedene Bestandteile des Kommandos unterschiedlich ein.
![Ersatz für Intel-RST-Driver](https://heise.cloudimg.io/width/610/q85.png-lossy-85.webp-lossy-85.foil1/_www-heise-de_/imgs/18/2/8/4/9/9/7/6/tipp_des_tages-36edfb1b557c9e05.jpeg)
- Hajo Schulz
Ich möchte meine PowerShell-Fenster in einer anderen als der von Microsoft vorgegebenen Hintergrundfarbe anzeigen lassen. Die Änderung ist ja über den Befehl „Eigenschaften“ im Systemmenü des Konsolenfensters schnell erledigt, auch eine passende Schriftfarbe findet sich hier.
Allerdings färbt die PowerShell bei der Befehlseingabe verschiedene Bestandteile des Kommandos wie den Befehlsnamen, Optionen oder Zeichenketten unterschiedlich ein. Einige dieser Farben heben sich jetzt überhaupt nicht mehr vom Hintergrund ab und sind praktisch nicht zu lesen. Wie kann man diese Farben ändern?
Ein Dialog ist für diese Anpassung nicht vorgesehen. Sie müssen sie vielmehr über den Befehl Set-PSReadLineOption
vornehmen. Sein Aufruf sieht für diesen Zweck so aus:
Set-PSReadLineOption -Colors @{<Kategorie> = '<Farbe>'}
Dabei ist <Kategorie>
durch eines der in der Microsoft-Dokumentation genannten Schlüsselwörter zu ersetzen, beispielsweise Command
für den Befehlsnamen oder String
für Zeichenketten in Anführungszeichen. Die <Farbe>
können Sie auf zwei verschiedene Arten definieren: Wenn es eine der vordefinierten Farben sein soll, können Sie deren Namen verwenden, etwa Black
für Schwarz oder DarkGreen
für ein dunkles Grün – eine Liste liefert [ConsoleColor].GetEnumNames()
. Alternativ können Sie statt der Farbe selbst einen ANSI-Escape-Code einsetzen, der diese einstellt. Beispiele listet ein Wikipedia-Artikel zum Thema. So zeigt die PowerShell nach der Eingabe
Set-PSReadLineOption -Colors @{Variable = "$([char]0x1b)[38;2;255;224;255m"}
Variablennamen in einem hellen Rosa (RGB: 255, 224, 255) an.
Damit die passende Farbe immer beim Öffnen eines neuen PowerShell-Fensters eingestellt wird, schreiben Sie den Aufruf zweckmäßigerweise in Ihre Profile-Datei – deren Name steht in der Systemvariablen $profile
.
(hos)