2013-04-29 25 views
8

Tôi biết tôi có thể thay đổi PowerShell console màu sắc bằng cách thiết lập trong hồ sơ một cái gì đó của tôi như:Thiết Powershell màu sắc với các giá trị hex trong hồ sơ kịch bản

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

Tuy nhiên trong một Powershell Console có thể đi đến tab Màu trong Properties và sửa đổi các giá trị RGB của 16 màu ANSI chuẩn theo cách thủ công. Có thể thiết lập giá trị hex hoặc RGB của các màu tiêu chuẩn từ tập lệnh cấu hình không? Ví dụ cài đặt tôi muốn có:

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

Trả lời

5

Bạn có thể, nhưng không thông qua đối tượng $Host. Bảng màu được lưu trữ trong sổ đăng ký.

Bạn sẽ sử dụng cùng tên nhưng màu sẽ khác. Đó là lý do bảng điều khiển PowerShell mặc định có màu xanh/xám.

1

Theo như tôi biết, bạn không thể. API giao diện điều khiển không hỗ trợ màu tùy chỉnh. Nếu bạn làm điều này:

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

bạn sẽ thấy BackgroundColor là loại System.ConsoleColor.

4

Các cách chính xác để làm điều này là với Registry

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

Với màu sắc là

0x00BBGGRR 

Example

+0

tôi thấy rằng các thiết lập này chỉ có hiệu lực sau khi thực hiện một sự thay đổi trong cửa sổ thuộc tính. Bằng cách nào đó, tất cả các cài đặt này hoàn toàn bị bỏ qua khi chạy trên máy tính mới này. Bạn phải thực hiện bất kỳ thay đổi nào trước khi các cửa sổ mới sẽ tôn trọng các cài đặt này theo như trải nghiệm của tôi. – Eric

+2

Có ai có thể mở rộng câu trả lời này không? ColorTable00 và ColorTable07 là gì? Làm cách nào bạn đến "Với màu sắc là 0x00BBGGRR"? – noctonura

Các vấn đề liên quan