Como acontece que o Powershell executado com “run” e com o ícone fixado tem configurações diferentes?

4

No meu Windows 7, se eu executar um powershell via "Win + R", "powershell", ele começará com texto branco em fundo preto e as configurações serão afetadas por [HKEY_CURRENT_USER\Colors] . Por exemplo, posso alterar facilmente a cor "vermelha" padrão para ser menos brilhante:

MasseeucolocaressepowershellnosuperbardoWindows7einiciá-loclicandonoíconedesuperbarra,eleexibiráalgumascoresazuisebrancasmalucasquenãopossoalterarO_O:

Por que tal diferença e é de qualquer maneira para configurar as cores do powershell fixado da mesma maneira eu posso configurar o powrshell que é iniciado através do comando "run".

    
por grigoryvp 22.12.2012 / 11:23

1 resposta

13

TL; DR

  1. Execute o powershell.exe
  2. ALT - ESPAÇO - > Propriedades
  3. Altere suas configurações conforme desejado.
  4. OK

O powershell.exe é um programa de console. Quando um programa de console é executado, o Windows configura o console procurando em vários locais.

Primeiro, olha para o atalho (arquivo .LNK) que você lançou. Isso é o que você normalmente verá no menu Iniciar, na área de trabalho, na barra de tarefas. Se você clicar no atalho e selecionar Propriedades, você verá várias dessas opções.

Para quaisquer opções que não estejam especificadas no atalho (ou se você ativou o .EXE diretamente, sem um atalho), o Windows procurará no registro.

Não encontrei uma lista abrangente de chaves de registro envolvidas, mas aqui estão as que eu conheço:

HKEY_CURRENT_USER\Console
HKEY_CURRENT_USER\Software\Microsoft\Command Processor
HKEY_LOCAL_MACHINE\Software\Microsoft\Command Processor

Mas espere, tem mais!

Quando você abre o menu Sistema em uma janela do console, vê "Propriedades" e "Padrões".

O padrão modifica uma das chaves de registro acima.

As propriedades se aplicam à janela de console aberta no momento e ao atalho que a lançou. Se você não usou um atalho porque abriu o .EXE diretamente, ele vai para uma chave de registro especial, como:

HKEY_CURRENT_USER\Console\%SystemRoot%_system32_cmd.exe

Mas isso não é tudo!

Os programas de console têm a capacidade de modificar suas próprias cores. Por exemplo, no CMD, você pode fazer:

C:\>color f0

E no PowerShell:

PS> $Host.UI.RawUI.BackgroundColor = 7

Essas configurações não são persistentes de maneira alguma.

    
por 22.12.2012 / 16:01

Tags