捕获多个变量

时间:2016-05-09 10:31:04

标签: powershell variables input inputbox

我目前有一个powershell脚本,允许我一次输入一个用户的详细信息,然后可以将其用作变量。目前,脚本调用每个输入,然后保存为变量,然后重复10次。

[System.Reflection.Assembly]::LoadWithPartialName('Microsoft.VisualBasic') | Out-Null
$NameOne = [Microsoft.VisualBasic.Interaction]::InputBox("Enter UserName")
$firstname,$surname = $NameOne -split("\.")
$NameTwo = [Microsoft.VisualBasic.Interaction]::InputBox("Enter UserName")
$firstname,$surname = $NameTwo -split("\.")

有没有办法缩短脚本以允许输入和存储用户名,但是当InputBox没有数据输入时还要转到脚本的下一部分?

由于 汤姆

1 个答案:

答案 0 :(得分:1)

使用while循环:

$Users = while(($Username = [Microsoft.VisualBasic.Interaction]::InputBox("Enter UserName")).Trim() -ne "")
{
    $firstname,$surname = $Username -split '\.'
    New-Object psobject -Property @{
        Firstname = $firstname
        Surname   = $surname
        Username  = $Username
    }
}

当用户没有输入任何内容或空格时,循环将退出,否则它将创建一个新的"用户对象"最终会出现在$Users数组