HOWTO · PowerShell
So ändern Sie die Farben in PowerShell
Dieser Artikel wird behandeln, wie man die Schriftfarbe, die Hintergrundfarbe von Skripten und die Farbe des Konsolenfensters mithilfe von PowerShell ändert.
Auf dieser Seite
Dieser Artikel wird besprechen, wie man die Schriftfarben, die Hintergrundfarbe von Skripten und die Farbe des Konsolenfensters mit PowerShell ändert.
Einführung in das Ändern von Farben in PowerShell
Diese Befehle rufen ein Objekt mit Informationen über die PowerShell-Konsole, den Konsolenhost, ab.
Befehl:
$host
Ausgabe:
Name : Windows PowerShell ISE Host
Version : 5.1.22000.282
InstanceId : 8cff2bea-868b-4d9e-b55a-06a3f4b8c20c
UI : System.Management.Automation.Internal.Host.InternalHostUserInterface
CurrentCulture : en-PH
CurrentUICulture : en-US
PrivateData : Microsoft.PowerShell.Host.ISE.ISEOptions
DebuggerEnabled : True
IsRunspacePushed : False
Runspace : System.Management.Automation.Runspaces.LocalRunspace
Die PrivateData-Eigenschaft enthält alle Farb-Eigenschaften, nach denen wir suchen.
Befehl:
$host.PrivateData
Ausgabe:
ErrorForegroundColor : #FFFF9494
ErrorBackgroundColor : #00FFFFFF
WarningForegroundColor : #FFFF8C00
WarningBackgroundColor : #00FFFFFF
VerboseForegroundColor : #FF00FFFF
VerboseBackgroundColor : #00FFFFFF
DebugForegroundColor : #FF00FFFF
DebugBackgroundColor : #00FFFFFF
ConsolePaneBackgroundColor : #FF012456
ConsolePaneTextBackgroundColor : #FF012456
ConsolePaneForegroundColor : #FFF5F5F5
ScriptPaneBackgroundColor : #FFFFFFFF
ScriptPaneForegroundColor : #FF000000
Die Farben sind für die Warnungen, Fehler, Debugging, Ausführliche Ausgaben und Fortschrittsströme im Objekt $host.PrivateData eingestellt. Versuchen Sie, einen dieser Werte zu ändern und zu sehen, ob sich auch die Farben Ihrer Konsole ändern.
Befehl:
$host.PrivateData.ErrorBackgroundColor = "White"
Die standardmäßige Hintergrundfarbe für Fehler "black" wird zu "white" wechseln.
Verwenden der [System.Enum]-Klasse in PowerShell
Um alle Konsolenfarben in PowerShell abzufragen, führen wir den folgenden Befehl aus.
Befehl:
[System.Enum]::GetValues('ConsoleColor')
Ausgabe:
Black
DarkBlue
DarkGreen
DarkCyan
DarkRed
DarkMagenta
DarkYellow
Gray
DarkGray
Blue
Green
Cyan
Red
Magenta
Yellow
White
Die angezeigte Ausgabe auf der Konsole ist schlichter weißer Text (wenn die Standardfarben nicht geändert wurden). Führen Sie den folgenden Befehl aus, um die Konsolenfarben in ihren jeweiligen Farben anzuzeigen.
Befehl:
[System.Enum]::GetValues('ConsoleColor') |
ForEach-Object { Write-Host $_ -ForegroundColor $_ }
Ausgabe:
Angenommen, wir möchten sehen, welche Farbkombinationen funktionieren und unserer Vorliebe entsprechen. In diesem Fall können wir den folgenden Befehl verwenden, der alle möglichen Vordergrundfarben auf allen möglichen Hintergrundfarben ausgibt.
Befehl:
$colors = [enum]::GetValues([System.ConsoleColor])
Foreach ($bgcolor in $colors) {
Foreach ($fgcolor in $colors) {
Write-Host "$fgcolor|" -ForegroundColor $fgcolor -BackgroundColor $bgcolor -NoNewline
}
Write-Host " on $bgcolor"
}
Ausgabe:
Ändern der Konsolenfarbe in PowerShell
Das Ändern der prominenten Vordergrundfarbe der Konsole und der Hintergrundfarbe ist etwas anders als unser vorheriges Objekt. Wir können den untenstehenden Ausschnitt versuchen, um die Textfarbe und das Konsolenfenster von PowerShell zu ändern.
Befehl:
$host.UI.RawUI.ForegroundColor = "DarkGreen"
$host.UI.RawUI.BackgroundColor = "Black"
cls
Ausgabe: