Câu hỏi Làm thế nào nó xảy ra rằng Powershell thực hiện với "chạy" và với biểu tượng pinned có cài đặt khác nhau?


Trên Windows 7 của tôi, nếu tôi chạy powerhell thông qua "Win + R", "powershell", nó sẽ bắt đầu bằng văn bản màu trắng trên nền đen và cài đặt bị ảnh hưởng qua [HKEY_CURRENT_USER\Colors]. Ví dụ: tôi có thể dễ dàng thay đổi màu "đỏ" mặc định để ít sáng hơn:

enter image description here

Nhưng nếu tôi pin powerhell này để Windows 7 superbar và bắt đầu nó bằng cách nhấn vào biểu tượng superbar, nó sẽ hiển thị một số màu xanh-và-trắng điên mà tôi không thể thay đổi O_O:

enter image description here

Tại sao sự khác biệt như vậy và là nó bất kỳ cách nào để cấu hình màu sắc của PowerShell pinned cùng một cách tôi có thể cấu hình powrshell được bắt đầu thông qua "chạy" lệnh.


4
2017-12-22 10:23


gốc


nếu bạn chạy "$ profile" trong mỗi cửa sổ, nó có hiển thị cùng một cấu hình không? hoặc khác nhau? - Logman
@Logman Đó là điều đầu tiên tôi đã kiểm tra. Chính xác cùng một hồ sơ. Bạn có thể kiểm tra nó cho chính mình - bất kỳ Windows 7 làm như tôi mô tả: ( - grigoryvp
khi tôi làm điều đó, màu phông chữ gần như hoặc là một kết hợp hoàn hảo. NHƯNG màu nền là khác nhau: một màu đen và màu xanh đậm khác. - Logman


Các câu trả lời:


TL; DR 

  1. Chạy powershell.exe
  2. ALT- -KHÔNG GIAN -> Tính chất
  3. Thay đổi cài đặt của bạn như mong muốn.
  4. được

powershell.exe là một chương trình điều khiển. Khi một chương trình điều khiển chạy, Windows sẽ cấu hình giao diện điều khiển bằng cách tìm trong một loạt các vị trí.

Đầu tiên nó nhìn vào đường tắt (.LNK tệp) bạn đã khởi chạy. Đó là những gì bạn thường thấy trong menu bắt đầu, trên màn hình, trong thanh tác vụ. Nếu bạn bấm vào phím tắt và chọn Thuộc tính, bạn sẽ thấy một loạt các tùy chọn này ở đó.

Đối với bất kỳ tùy chọn nào không được chỉ định trong lối tắt (hoặc nếu bạn khởi chạy trực tiếp .EXE, không có phím tắt), Windows sẽ tìm trong sổ đăng ký.

Tôi không thể tìm thấy một danh sách đầy đủ các khóa registry liên quan, nhưng đây là những cái tôi biết về:

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

Nhưng xin chờ chút nữa!

Khi bạn mở menu Hệ thống trên cửa sổ bảng điều khiển, bạn sẽ thấy cả "Thuộc tính" và "Mặc định".

Mặc định sửa đổi một trong các khóa registry ở trên.

Các thuộc tính áp dụng cho cửa sổ bảng điều khiển hiện đang mở và lối tắt đã khởi chạy nó. Nếu bạn không sử dụng phím tắt vì bạn đã mở trực tiếp .EXE, nó sẽ chuyển đến một khóa đăng ký đặc biệt, thay vào đó, như:

HKEY_CURRENT_USER\Console\%SystemRoot%_system32_cmd.exe

Nhưng đó không phải là tất cả!

Các chương trình Console có khả năng sửa đổi màu sắc riêng của chúng. Ví dụ, trong CMD bạn có thể làm:

C:\>color f0

Và trong PowerShell:

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

Các cài đặt này không được lưu giữ theo bất kỳ cách nào.


13
2017-12-22 15:01



Đây là công cụ phức tạp. Tôi chắc chắn tôi đã bỏ lỡ một số chi tiết. Hy vọng những người khác có thể giúp tôi! - Jay Bazuzi
1 Jay, tôi nghĩ Jay đã đúng, phụ thuộc vào cách thức / nơi ps được chạy và cửa sổ mở ra với các thuộc tính của shortcut đó hoặc exe - Logman
Tôi đã kiểm tra các đường dẫn đăng ký được cung cấp - chúng không có bất kỳ thông tin nào về màu trắng / xanh được sử dụng bởi các powerhell được ghim. Việc thêm các màu tùy chỉnh vào chúng không ảnh hưởng đến quyền hạn được ghim :(. Vì vậy, câu hỏi vẫn còn hoạt động - nơi các cài đặt PowerShell được ghim được lưu trữ và cách chúng có thể được thay đổi :). - grigoryvp
@EyeofHell: Bạn đã nhìn vào các phím tắt? Tôi đã kiểm tra của tôi và xác nhận rằng bảng màu trắng / xanh được đặt ở đó, không phải trong sổ đăng ký. Tôi đang chỉnh sửa câu trả lời của mình để làm rõ hơn. - Jay Bazuzi
Đây là một câu trả lời tuyệt vời. Đối với những gì nó có giá trị, cá nhân tôi thiết lập màu nền trước và nền trong hồ sơ powershell (Get-Help about_Profiles). Bằng cách đó tôi có thể có các màu khác nhau cho tài khoản thông thường của mình so với tài khoản quản trị miền của mình nên tôi hy vọng không thử những thứ ngu xuẩn như một quản trị viên miền. - EBGreen