Cómo cambiar colores en PowerShell
- Introducción a Cambiar Colores en PowerShell
-
Usar la Clase
[System.Enum]
en PowerShell - Cambiando el Color de la Consola 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:
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:
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:
Marion specializes in anything Microsoft-related and always tries to work and apply code in an IT infrastructure.
LinkedIn