每次 Windows 更新時,「Windows Powershell」屬性都會重設為原始預設值。對於看起來像這樣的顏色選項卡
我不喜歡這些預設設置,每次 Windows 更新時我都必須返回並將它們再次更改為我想要的設定。我正在尋找一種方法來避免每次都需要手動重置它們(例如透過腳本設定它們的某種方法,或強制更改在更新中持續存在的方法)。
我嘗試在預設值中設定所需的屬性:
那裡的更改似乎在更新之間持續存在,但我不知道如何使屬性遵循這些預設值而不是“原始”值。
我想要更改的特定屬性是顏色選項卡中的顏色值和不透明度以及終端選項卡中的終端顏色和遊標形狀。
我碰到這個問題,但是那裡的答案並沒有讓我找到任何更新顏色值本身的解決方案 - 僅使用哪種顏色作為背景和前景
有沒有辦法透過腳本進行這些變更或將屬性重設為「預設值」標籤中的值而不是「原始」預設值?
答案1
我透過使用腳本更改所需的參數解決了這個問題。這是腳本:
Push-Location
Set-Location HKCU:\Console
Set-ItemProperty . ColorTable00 -type DWORD -value 0x00000000
Set-ItemProperty . ColorTable01 -type DWORD -value 0x007a4d38
Set-ItemProperty . ColorTable02 -type DWORD -value 0x00276112
Set-ItemProperty . ColorTable03 -type DWORD -value 0x00abab00
Set-ItemProperty . ColorTable04 -type DWORD -value 0x00333391
Set-ItemProperty . ColorTable05 -type DWORD -value 0x00911f91
Set-ItemProperty . ColorTable06 -type DWORD -value 0x0000ebeb
Set-ItemProperty . ColorTable07 -type DWORD -value 0x00afafaf
Set-ItemProperty . ColorTable08 -type DWORD -value 0x00646464
Set-ItemProperty . ColorTable09 -type DWORD -value 0x00fc6e47
Set-ItemProperty . ColorTable10 -type DWORD -value 0x0047fc47
Set-ItemProperty . ColorTable11 -type DWORD -value 0x00ffff33
Set-ItemProperty . ColorTable12 -type DWORD -value 0x003d33ff
Set-ItemProperty . ColorTable13 -type DWORD -value 0x00ff33ff
Set-ItemProperty . ColorTable14 -type DWORD -value 0x008fffff
Set-ItemProperty . ColorTable15 -type DWORD -value 0x00ffffff
Set-ItemProperty . WindowAlpha -type DWORD -value 0x000000d9
Pop-Location
$path = "C:\Users\words\AppData\Roaming\Microsoft\Windows\Start Menu\"+
"Programs\Windows PowerShell\Windows PowerShell.lnk"
rm $path
$shell = New-Object -COM WScript.Shell
$shortcut = $shell.CreateShortcut("C:\Users\words\AppData\Roaming\"+
"Microsoft\Windows\Start Menu\Programs\Windows PowerShell\Windows PowerShell.lnk")
$shortcut.TargetPath = "C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe"
第一個區塊設定終端顏色的 RGB 值和視窗的不透明度,第二個區塊更新「開始」功能表捷徑,以便即使從「開始」功能表啟動時變更也會生效。我已將腳本保存為~\colors.ps1
並簡單地運行
PS C:\ ~\colors.ps1
然後在更新將我的設定恢復為原始預設值時重新啟動 PowerShell。