Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/powershell/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/visual-studio/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Powershell $Host.UI.Prompt()正在忽略属性';默认值';现场描述_Powershell_Input - Fatal编程技术网

Powershell $Host.UI.Prompt()正在忽略属性';默认值';现场描述

Powershell $Host.UI.Prompt()正在忽略属性';默认值';现场描述,powershell,input,Powershell,Input,我尝试获取用户输入,如果没有输入,则返回默认值 我将使用$Host.UI.Prompt,因为根据MSDN(),它应该正好提供这个功能——或者我是这么认为的 简而言之:$Host.UI.Prompt方法接受一组FieldDescription对象。这些对象中的每一个都可以分配一个DefaultValue属性,当用户没有为此特定字段提供输入时,应该返回该属性 除了默认值部分之外,我已经让所有东西都按预期工作了 为了查看是否弄乱了我的脚本,我还尝试了互联网上的示例脚本,例如: $Host.UI.Pro

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

我将使用
$Host.UI.Prompt
,因为根据MSDN(),它应该正好提供这个功能——或者我是这么认为的

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

除了默认值部分之外,我已经让所有东西都按预期工作了

为了查看是否弄乱了我的脚本,我还尝试了互联网上的示例脚本,例如:

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

$Host.UI.Prompt
不会按预期提供分配的
默认值。与此类似,默认值不会显示在提示符上,当我在没有任何输入的情况下按enter键时,结果为空/零

有趣的是,当我在PowerGUI中运行这个脚本时,GUI弹出窗口显示了相应inputfield中建议的所有分配的DefaultValue。 因此,它似乎是可行的,只是PowerShell中的
$Host.UI
对象似乎在某种程度上被窃听了

我知道我可以很容易地解决这个问题,但我不想。 我想理解为什么它不做它不做的事情,仅仅因为

我运行的是64位Windows 7 Professional,包含所有最新更新

这是我的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                                                                                                          
我希望这里的其他人,最好是具有相同设置的人,可以尝试验证和再现这种行为


提前谢谢

如果有帮助的话,我有PS3.0版本和相同的操作系统,我会得到类似的结果。我试过ISE和shell。谢谢,看来我们这里确实有个bug。。。向微软报告此事的最佳地点是哪里?(如果有这样的地方)