如何在PowerShell ISE中更改Read-Host提示符的WindowTitle?

时间:2011-05-05 23:05:53

标签: powershell powershell-ise

我知道如何使用类似

的内容更改主ISE窗口的标题
$Host.UI.RawUI.WindowTitle = "My Awesome New Window Title"

但我想知道如何访问弹出读取主机请求的窗口标题,如:

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

它标有Windows PowerShell ISE - Input作为标题 - 是的,我知道我在窗口中有Please enter Perforce Password提示 - 但我真的希望能够自定义标题 - 任何想法?

2 个答案:

答案 0 :(得分:7)

您可以使用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相似的UI,但您可以指定所需的响应。这适用于任何PowerShell主机,ISE或PowerShell.exe。

答案 1 :(得分:2)

这是个人答案,但对我来说,ISE是一个用于编辑和调试脚本的WorkFrame。我更喜欢PowerGUI

执行你的scipts并不是最终的PowerShell解释器。因此,如果要为代码添加UI,可以查看如何在脚本中集成Windows窗体或WPF。它还有一些模块可以帮助你。

这是关于WPF的Microsoft系列

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)

了解WPK(WPF PowerShell Toolkit