Cómo cambiar colores en PowerShell

  1. Introducción a Cambiar Colores en PowerShell
  2. Usar la Clase [System.Enum] en PowerShell
  3. Cambiando el Color de la Consola en PowerShell
Cómo cambiar colores en PowerShell

Este artículo discutirá cómo cambiar los colores de la fuente, el color de fondo de los scripts y el color de la ventana de la consola utilizando PowerShell.

Introducción a Cambiar Colores en PowerShell

Estos comandos recuperan un objeto con información sobre la consola de PowerShell, el host de la consola.

Comando:

$host

Salida:

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 propiedad PrivateData tiene todas las propiedades de color que estamos buscando.

Comando:

$host.PrivateData

Salida:

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

Los colores se establecen para las advertencias, errores, depuración, verbo y progresos dentro del objeto $host.PrivateData. Intenta cambiar uno de estos valores y ver si tu consola también cambia de color.

Comando:

$host.PrivateData.ErrorBackgroundColor = "White"

Salida:

Black
DarkBlue
DarkGreen
DarkCyan
DarkRed
DarkMagenta
DarkYellow
Gray
DarkGray
Blue
Green
Cyan
Red
Magenta
Yellow
White

La salida mostrada en la consola es texto blanco puro (si los colores predeterminados no han sido cambiados). Haz el siguiente comando para mostrar los colores de la consola como sus respectivos colores.

Comando:

[System.Enum]::GetValues('ConsoleColor') |
    ForEach-Object { Write-Host $_ -ForegroundColor $_ }

Salida:

Mostrando valores de color con colores de fuente usando Write-Host

Supongamos que queríamos ver qué combinaciones de colores funcionarían y se adaptarían a nuestra preferencia. En ese caso, podemos usar el comando a continuación que mostrará todos los posibles colores de primer plano sobre todos los posibles colores de fondo.

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

Salida:

Mostrando todas las combinaciones posibles de colores de consola de primer plano y fondo

Cambiando el Color de la Consola en PowerShell

Cambiar el color de primer plano prominente de la consola y el color de fondo es un poco diferente de nuestro objeto anterior. Podemos intentar el fragmento a continuación para cambiar el color del texto y la ventana de la consola de PowerShell.

Comando:

$host.UI.RawUI.ForegroundColor = "DarkGreen"
$host.UI.RawUI.BackgroundColor = "Black"
cls

Salida:

Cambiando el color de la consola en PowerShell

¿Disfrutas de nuestros tutoriales? Suscríbete a DelftStack en YouTube para apoyarnos en la creación de más guías en vídeo de alta calidad. Suscríbete
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

Artículo relacionado - PowerShell Color