Question:
I know how to change the title of the main ISE window using something like
1 2 |
$Host.UI.RawUI.WindowTitle = "My Awesome New Window Title" |
but I’m wondering how to get access to the title of the window that pops upon a Read-Host request like:
1 2 |
$strP4Pass = Read-Host "Please enter Perforce Password" -assecurestring |
It pops with Windows PowerShell ISE - Input
as the title – and yes, I know I have my Please enter Perforce Password
prompt within the window – but I’d really like to be able to customize the title – any ideas?
Answer:
You can create a custom prompt with multiple choices using System.Management.Automation.Host.ChoiceDescription
1 2 3 4 5 |
$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) |
This will produce a similar UI that you get with -confirm or -whatif, but you can specify the responses you want. This will work in any PowerShell Host, ISE or PowerShell.exe.