我有一个简单的PowerShell脚本,它同时使用$host.ui.Prompt
和$host.ui.PromptForChoice
。当我从ISE运行它时,PromptForChoice
会弹出一个对话框,但Prompt
会在控制台上提示。
Read-Host也会在控制台上提示,但不会显示对话框。
即。 下面的脚本显示了初始选择的对话框,然后在控制台窗格中提示A和B.这是正常的吗?我阅读文档表明,所有三个都应该抛出一个对话框。我错过了什么吗?
我正在运行PowerShell 3.0,以防相关。
$choicedesc = New-Object System.Collections.ObjectModel.Collection[System.Management.Automation.Host.ChoiceDescription]
$choicedesc.Add((New-Object "System.Management.Automation.Host.ChoiceDescription" -ArgumentList "&Foo"))
$choicedesc.Add((New-Object "System.Management.Automation.Host.ChoiceDescription" -ArgumentList "&Bar"))
$choice = $Host.ui.PromptForChoice("Choice", "Make a choice", $choicedesc, -1)
$a = Read-Host "A"
$fields = New-Object "System.Collections.ObjectModel.Collection[System.Management.Automation.Host.FieldDescription]"
$f = New-Object System.Management.Automation.Host.FieldDescription "B"
$f.DefaultValue = ""
$f.Label = "&B"
$fields.Add($f)
$result = $Host.ui.Prompt('cap','msg', $fields)