Как я могу изменить WindowTitle приглашения Read-Host в PowerShell ISE? - PullRequest
4 голосов
/ 06 мая 2011

Я знаю, как изменить заголовок главного окна ISE, используя что-то вроде

$Host.UI.RawUI.WindowTitle = "My Awesome New Window Title"

но мне интересно, как получить доступ к заголовку окна, которое появляется при запросе Read-Host, например:

$strP4Pass = Read-Host "Please enter Perforce Password" -assecurestring

Он появляется с Windows PowerShell ISE - Input в качестве заголовка - и да, я знаю, что у меня есть Please enter Perforce Password приглашение в окне - но я действительно хотел бы иметь возможность настроить заголовок - любой идеи?

Ответы [ 2 ]

7 голосов
/ 06 мая 2011

Вы можете создать настраиваемое приглашение с несколькими вариантами выбора, используя System.Management.Automation.Host.ChoiceDescription

$Yes = New-Object System.Management.Automation.Host.ChoiceDescription "Yes Please"
$No = New-Object System.Management.Automation.Host.ChoiceDescription "No, Thank you"
$YesNoChoices = [System.Management.Automation.Host.ChoiceDescription[]]($No,$Yes)
$Answer = $Host.UI.PromptForChoice("Caption goes here", "Message Goes here", $YesNoChoices, 1)

Это создаст похожий пользовательский интерфейс, который вы получите с -confirm или -whatif, но вы можетеукажите ответы, которые вы хотите.Это будет работать на любом хосте PowerShell, ISE или PowerShell.exe.

2 голосов
/ 06 мая 2011

Это личный ответ, но для меня ISE - это WorkFrame для редактирования и отладки ваших скриптов.Для этого я предпочитаю PowerGUI .

Это НЕ последний интерпретатор PowerShell для выполнения ваших сценариев.Поэтому, если вы хотите добавить пользовательский интерфейс в свой код, вы можете посмотреть, как интегрировать Windows Forms или WPF в ваши скрипты.Также существуют некоторые модули, которые помогут вам в этом.

Вот серия Microsoft о WPF

WPF & PowerShell - Часть 1 (Привет, мир и добро пожаловать на неделю WPF)

WPF & PowerShell - Часть 2 (Изучение WPF (и остальная часть .NET) с помощью сценариев)

WPF & PowerShell - Часть3 (Обработка событий)

Ознакомьтесь с WPK ( WPF PowerShell Toolkit )

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...