Come cambiare i colori in PowerShell
- Introduzione alla modifica dei colori in PowerShell
-
Utilizzare la classe
[System.Enum]
in PowerShell - Cambiare il colore della console in PowerShell

Questo articolo discuterà come cambiare i colori dei caratteri, il colore di sfondo degli script e il colore della finestra della console utilizzando PowerShell.
Introduzione alla modifica dei colori in PowerShell
Questi comandi recuperano un oggetto con informazioni sulla console di PowerShell, l’host della console.
Comando:
$host
Output:
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
La proprietà PrivateData
ha tutte le proprietà di colore che stiamo cercando.
Comando:
$host.PrivateData
Output:
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
I colori sono impostati per i flussi di Avvisi, Errori, Debug, Verbosi e Progressi all’interno dell’oggetto $host.PrivateData
. Prova a cambiare uno di questi valori e a vedere se anche la tua console cambia colore.
Comando:
$host.PrivateData.ErrorBackgroundColor = "White"
Output:
Black
DarkBlue
DarkGreen
DarkCyan
DarkRed
DarkMagenta
DarkYellow
Gray
DarkGray
Blue
Green
Cyan
Red
Magenta
Yellow
White
L’output visualizzato sulla console è testo bianco semplice (se i colori predefiniti non sono stati modificati). Esegui il seguente comando per visualizzare i colori della console nei loro rispettivi colori.
Comando:
[System.Enum]::GetValues('ConsoleColor') |
ForEach-Object { Write-Host $_ -ForegroundColor $_ }
Output:
Supponiamo di voler vedere quali combinazioni di colori funzionerebbero e si adatterebbero alle nostre preferenze. In tal caso, possiamo utilizzare il comando qui sotto che restituirà tutti i possibili colori in primo piano su tutti i possibili colori di sfondo.
Comando:
$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"
}
Output:
Cambiare il colore della console in PowerShell
Cambiare il colore del primo piano della console e il colore di sfondo è leggermente diverso dal nostro oggetto precedente. Possiamo provare lo snippet qui sotto per cambiare il colore del testo e della finestra della console di PowerShell.
Comando:
$host.UI.RawUI.ForegroundColor = "DarkGreen"
$host.UI.RawUI.BackgroundColor = "Black"
cls
Output:
Marion specializes in anything Microsoft-related and always tries to work and apply code in an IT infrastructure.
LinkedIn