2013-04-29 4 views
8

Я знаю, что я могу изменить PowerShell консольного цвета, установив в своем профиле что-то вроде:Установки Powershell цвета с шестнадцатеричными значениями в профиле сценарии

$Host.UI.RawUI.BackgroundColor = "White" 
Clear-Host 

Однако в Powershell консоли можно перейти на вкладку Color в свойствах и вручную измените значения RGB стандартных цветов 16 ANSI. Можно ли установить либо шестнадцатеричные, либо значения RGB стандартных цветов из сценария профиля? Например, установка, которую я хотел бы иметь:

$Host.UI.RawUI.BackgroundColor = "#242424" # Gray 
Clear-Host 

ответ

5

Вы можете, но не через объект $Host. Таблица цветов хранится в реестре.

Вы бы использовали те же названия, но цвета были бы разными. Вот почему консоль PowerShell по умолчанию - синий/серый.

1

Насколько я знаю, вы не можете. API-интерфейс консоли не поддерживает пользовательский цвет. Если вы сделаете это:

$x = (Get-Host).UI.RawUI 
$x | gm 

вы увидите, что BackgroundColor имеет тип System.ConsoleColor.

4

правильный способ сделать это с Registry

cd hkcu:/console 
$0 = '%systemroot%_system32_windowspowershell_v1.0_powershell.exe' 
ni $0 -f 
sp $0 ColorTable00 0x00562401 
sp $0 ColorTable07 0x00f0edee 

С цвет будучи

0x00BBGGRR 

Example

+0

Я обнаружил, что эти параметры вступают в силу только после внесения изменений в окна свойств. Как-то все эти настройки полностью игнорируются, если говорить об этом на новом компьютере. Вы должны внести какие-либо изменения, прежде чем новые окна будут уважать эти настройки, насколько мой опыт. – Eric

+2

Может ли кто-нибудь расширить этот ответ? Что такое ColorTable00 и ColorTable07? Как вы пришли к «С цветом 0x00BBGGRR»? – noctonura

Смежные вопросы