Powershell - 将变量中的函数输出存储不起作用

时间:2018-03-29 13:23:49

标签: function powershell loops

坚持试图将函数输出存储在变量中:

function AD-prompt($Text)
{
do
{
$in = read-host -prompt "$Text"
}
while($in -eq "")
}

使用

调用该函数
$type = AD-prompt "Sample Text"

不会在$ type中存储任何内容 - 只有当我删除整个do-while循环时它才有效。似乎函数输出是空的,因为读取主机输出存储在$ in变量中,但我不知道如何解决这个问题 - 我还没有找到另一种循环读取主机的方法。

1 个答案:

答案 0 :(得分:4)

您需要通过输出功能返回$in。您可以在循环后将它自己放在一行上来完成此操作:

function AD-prompt($Text)
{
    do
    {
       $in = read-host -prompt "$Text"
    }
    while($in -eq "")

    $in
}