Come cambiare i colori in PowerShell

  1. Introduzione alla modifica dei colori in PowerShell
  2. Utilizzare la classe [System.Enum] in PowerShell
  3. Cambiare il colore della console in PowerShell
Come cambiare i colori 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:

Visualizzare i valori dei colori con i colori del carattere utilizzando Write-Host

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:

Visualizzazione di tutte le possibili combinazioni di colori del testo e dello sfondo della console

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:

Cambiando il colore della console in PowerShell

Ti piacciono i nostri tutorial? Iscriviti a DelftStack su YouTube per aiutarci a creare altre guide video di alta qualità. Iscriviti
Marion Paul Kenneth Mendoza avatar Marion Paul Kenneth Mendoza avatar

Marion specializes in anything Microsoft-related and always tries to work and apply code in an IT infrastructure.

LinkedIn

Articolo correlato - PowerShell Color