2016-05-09 60 views
1

我目前有一个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

使用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阵列

+0

辉煌,谢谢你。 – user3786382