Como mudar as cores no PowerShell

  1. Introdução à Mudança de Cores no PowerShell
  2. Use a Classe [System.Enum] no PowerShell
  3. Mudando a Cor do Console no PowerShell
Como mudar as cores no PowerShell

Este artigo discutirá como mudar as cores das fontes, a cor de fundo dos scripts e a cor da janela do console usando PowerShell.

Introdução à Mudança de Cores no PowerShell

Esses comandos recuperam um objeto com informações sobre o console do PowerShell, o host do console.

Comando:

$host

Saída:

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

A propriedade PrivateData tem todas as propriedades de cor que estamos procurando.

Comando:

$host.PrivateData

Saída:

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

As cores são definidas para os fluxos de Avisos, Erros, Depuração, Verboso e Progresso dentro do objeto $host.PrivateData. Tente mudar um desses valores e veja se seu console também muda de cor.

Comando:

$host.PrivateData.ErrorBackgroundColor = "White"

Saída:

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

A saída exibida no console é texto branco puro (se as cores padrão não foram alteradas). Execute o comando a seguir para exibir as cores do console em suas respectivas cores.

Comando:

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

Saída:

Exibindo valores de cor com cores de fonte usando Write-Host

Suponha que queiramos ver quais combinações de cores funcionariam e se ajustariam à nossa preferência. Nesse caso, podemos usar o comando abaixo que mostrará todas as possíveis cores de primeiro plano em todas as possíveis cores de fundo.

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

Saída:

Exibindo todas as combinações possíveis de cores de console de primeiro plano e fundo

Mudando a Cor do Console no PowerShell

Mudar a cor de primeiro plano do console e a cor de fundo é ligeiramente diferente do nosso objeto anterior. Podemos tentar o trecho abaixo para mudar a cor do texto e a janela do console do PowerShell.

Comando:

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

Saída:

Mudando a Cor do Console no PowerShell

Está gostando dos nossos tutoriais? Inscreva-se no DelftStack no YouTube para nos apoiar na criação de mais vídeos tutoriais de alta qualidade. Inscrever-se
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

Artigo relacionado - PowerShell Color