Резервное копирование измененных свойств консоли PowerShell (Windows 10)

570
ereHsaWyhsipS

Я не совсем понимаю, как это работает. Поэтому, когда я открываю PowerShell от имени администратора, я могу щелкнуть правой кнопкой мыши на строке заголовка, перейти к «Свойствам», затем к «Цветам» и внести изменения. Например, я установил цвет по умолчанию «Фон экрана» на черный вместо темно-синего по умолчанию. Я заметил, что эти изменения сохраняются даже после перезагрузки компьютера и повторного запуска PowerShell от имени администратора. Однако эти изменения, по-видимому, не относятся к случаям, когда я регулярно открываю PowerShell (не как администратор). Так, например, у администратора мог бы быть PowerShell с черным фоном, а у обычного PowerShell - красный фон.

Но вот в чем дело; Предположим, я изменил много цветов и хочу как-то поддержать эти изменения. Они должны где-то храниться, и, разумеется, они различны для каждой из двух версий PowerShell. Так где же хранятся эти свойства для обеих версий? Есть ли простой способ их резервного копирования и восстановления на более позднем этапе, если будут внесены будущие изменения? Если нет, то можно ли как-нибудь сохранить эти настройки в моем профиле PowerShell?

enter image description here

3

2 ответа на вопрос

1
mt025

Настройки цвета хранятся в ярлыке powershell.

У каждого пользователя есть свой ярлык в C:\Users\[User]\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Windows PowerShell

Вы можете создать несколько ярлыков для powershell с различными настройками шрифта / цвета, посмотрев на панель свойств для этого ярлыка.

Вы можете сохранить ярлык в любом месте и даже использовать его на других компьютерах с сохраненными настройками цвета и шрифта.

1
Pimp Juice IT

Настройки резервного копирования

Согласно документации Get-Host, чтобы экспортировать эти настройки в файл резервной копии и т. Д., Вы можете использовать что-то подобное (Get-Host).UI.RawUI | Format-List -Property *и поместить это в -OutFile.

PS C:\> (Get-Host).UI.RawUI | Format-List -Property * ForegroundColor : DarkYellow BackgroundColor : DarkBlue CursorPosition : 0,390 WindowPosition : 0,341 CursorSize : 25 BufferSize : 120,3000 WindowSize : 120,50 MaxWindowSize : 120,81 MaxPhysicalWindowSize : 182,81 KeyAvailable : False WindowTitle : Windows PowerShell 2.0 (04/11/2008 00:08:14) 

источник

Восстановить настройки

Затем вы можете создать сценарий PowerShell, чтобы явно указать эти важные параметры, которые вы используете, и просто запустить этот сценарий при открытии любого нового сеанса PowerShell .

(Get-Host).UI.RawUI.ForegroundColor = "DarkYellow" (Get-Host).UI.RawUI.BackgroundColor = "DarkBlue" (Get-Host).UI.RawUI.CursorPosition = @{ X = 0; Y = 390 } (Get-Host).UI.RawUI.WindowPosition = @{ X = 0; Y = 341 } (Get-Host).UI.RawUI.CursorSize = 25 (Get-Host).UI.RawUI.BufferSize = new-object System.Management.Automation.Host.Size(120,3000) (Get-Host).UI.RawUI.WindowSize = new-object System.Management.Automation.Host.Size(120,50) (Get-Host).UI.RawUI.WindowTitle = "Windows PowerShell 2.0" 

enter image description here

enter image description here


Дополнительные ресурсы

@ereHsaWyhsipS Дайте мне знать, если есть какие-то конкретные настройки, которые я не включил, что вам нужна помощь, чтобы выяснить, как выполнить резервное копирование и восстановление, и я постараюсь помочь вам в случае необходимости, и это возможно. Pimp Juice IT 6 лет назад 0
Извините, что я не смог ответить раньше, но я не смог проверить это до сих пор. Поэтому, как только я экспортировал настройки в выходной файл, как вы упомянули вначале, я не уверен, как перейти к следующему шагу; Как мне легко преобразовать все эти параметры в сценарий, который будет продолжать влиять на все будущие сеансы PowerShell после запуска? ereHsaWyhsipS 6 лет назад 0
Я также попытался поместить предоставленный вами код в мой профиль PowerShell по умолчанию и в результате получил странный результат: https://image.ibb.co/fCBwx7/Screenshot_1.png Я получил тот же результат, просто запустив код в виде сценария напрямую. Я не уверен, что я делал неправильно. ereHsaWyhsipS 6 лет назад 0
@ereHsaWyhsipS Когда у вас будет возможность, скажите мне, есть ли какие-то особые важные настройки, которые вы хотите применить к другим сеансам, и какие это могут быть. Я знаю, что у вас есть снимок экрана с вкладкой «Цвета резервного копирования экрана» со всеми значениями «0», но я не был уверен, есть ли другие более важные настройки и т. Д., С которыми я мог бы провести некоторое тестирование, чтобы увидеть, смогу ли я получить эти настройки. правильный? Мне нужно провести дополнительное тестирование, но вы видели ответ по mt025 и проверили, проще ли это и работает ли как положено? Я хочу помочь вам получить рабочее решение, но выкопаю еще одно, которое я слышу в ответ. Pimp Juice IT 6 лет назад 0
Эй, я обнаружил, что они также находятся в редакторе реестра. Проверьте этот ключ: [HKEY_CURRENT_USER \ Console \% SystemRoot% _System32_WindowsPowerShell_v1.0_powershell.exe] и, при запуске из меню «Пуск» и сочетания клавиш Alt + F + S + A, цвета хранятся в:% AppData% \ Microsoft \ Windows \ Пуск \ Меню \ Программы \ Windows PowerShell \ Windows Powershell.lnk jippyjoe4 5 лет назад 0
@ jippyjoe4 Вы проверяли что-нибудь с этим ключом, чтобы увидеть, действительно ли он что-то делает или работает? Pimp Juice IT 5 лет назад 0
@PimpJuiceIT, восстановление зарезервированного файла .reg, созданного путем экспорта этого ключа, действительно восстанавливает свойства окна консоли, но ТОЛЬКО при запуске PowerShell непосредственно из файла .exe, а НЕ из ярлыка; всякий раз, когда вы используете Alt + F + S + A или используете Windows Search для доступа к PowerShell, вы должны сделать резервную копию самого файла ярлыка, расположенного по пути AppData, упомянутому в моем предыдущем комментарии. jippyjoe4 5 лет назад 1

Похожие вопросы