$ Host.UI.Prompt()忽略FieldDescription中的属性'DefaultValue'

时间:2014-10-07 14:52:25

标签: powershell input

我正在尝试获取用户输入,如果没有给出输入,则返回默认值。

我将使用$Host.UI.Prompt,因为根据MSDN(PSHostUserInterface.Prompt Method)它应该提供这个功能 - 或者我认为。

简而言之:$Host.UI.Prompt方法接受FieldDescription个对象的集合。每个对象都可以赋予DefaultValue属性,当用户没有为此特定字段提供输入时,该属性应该返回。

除了默认值部分外,我已按要求完成所有工作。

要查看我的脚本是否搞砸了,我还尝试使用互联网上的示例脚本,例如this一个:

$Host.UI.PromptForChoice工作正常,当我别无选择时,DefaultChoice的值会按预期返回。

$Host.UI.Prompt无法按预期提供指定的DefaultValue。比如,默认值没有显示在提示符上,当我按Enter键而没有给出任何输入时,我得到空/零结果。

有趣的是,当我在PowerGUI中运行这个确切的脚本时,GUI弹出窗口显示相应输入字段中建议的所有已分配的DefaultValues。 所以它似乎工作,只是PowerShell中的$Host.UI对象似乎在某种程度上被窃听......

我知道我可以轻松解决这个问题,但我不想这样做。 我想理解为什么 做的事情,只是因为。

我在Windows 7 Professional 64bit上运行,包含所有最新更新。

这是我的PSVersionTable:

Name                           Value                                                                                                                                     
----                           -----                                                                                                                                     
PSVersion                      4.0                                                                                                                                       
WSManStackVersion              3.0                                                                                                                                       
SerializationVersion           1.1.0.1                                                                                                                                   
CLRVersion                     4.0.30319.18444                                                                                                                           
BuildVersion                   6.3.9600.16406                                                                                                                            
PSCompatibleVersions           {1.0, 2.0, 3.0, 4.0}                                                                                                                      
PSRemotingProtocolVersion      2.2                                                                                                          

我希望此处的其他人,最好使用相同的设置,可以尝试验证&重现这种行为!

提前感谢!

0 个答案:

没有答案