Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How can I change the WindowTitle of the Read-Host prompt in the PowerShell ISE?

I know how to change the title of the main ISE window using something like

$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:

$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?

like image 877
rand0m1 Avatar asked Jan 20 '23 20:01

rand0m1


2 Answers

You can create a custom prompt with multiple choices using 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)

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.

like image 199
Andy Schneider Avatar answered Jan 22 '23 08:01

Andy Schneider


This is a personal answer, but for me ISE is a WorkFrame to edit, and debug your scripts. I prefer PowerGUI for that.

It's NOT the final PowerShell interpreter to execute your scipts. So if you want to add UI to you code you can Have a look on how to integrate Windows Forms or WPF in you scripts. It also exists some modules to help you that way.

Here is a Microsoft serie about WPF

WPF & PowerShell – Part 1 ( Hello World & Welcome to the Week of WPF )

WPF & PowerShell – Part 2 (Exploring WPF (and the rest of .NET) with Scripts)

WPF & PowerShell -- Part 3 (Handling Events)

Have a look to WPK (WPF PowerShell Toolkit)

like image 31
JPBlanc Avatar answered Jan 22 '23 09:01

JPBlanc