2016-05-09 8 views
1

私は現在、後で変数として使用することができる、一度に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関数がデータ入力を持っていないスクリプトの次の部分に移動することではなく、保存できるように、両方のスクリプトを短縮する方法はありますか?それ以外の場合は終了します新しい「ユーザーオブジェクト」を作成します、ユーザーが何もまたは空白文字を入力しない場合は

$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 
    } 
} 

、ループは終了します:

おかげ トム

答えて

1

whileループを使用します$Usersアレイ

+0

ブリリアント、ありがとう。 – user3786382

関連する問題