2015-11-22 2 views
0

Я создаю скрипт PowerShell, и мне нужна помощь в создании одной части моего кода. Когда я открываю мой сценарий, я хочу, чтобы мой код, чтобы быть, как этоPowerShell вводит и удаляет неавторизованных пользователей

:start { 
    $User = read-host 'Enter a user, If you are done, type done' 
    $adminOrNormal = read-host 'a for admin or n for normal' 
    if ($user -eq 'done') { 
     Turn account type or delete incorrect users 
    } else { 
     goto start 
    } 
} 

Я знаю, нет Гото и метка функции в PowerShell, поэтому мне нужно заменить для этого

ответ

1

Если вы хотите, чтобы перейти к начало блока, дайте этому блоку имя (функцию) и вызовите его.

Как об этом:

function Prompt-ForUser { 

    $User = Read-Host 'Enter a user, If you are done, type done' 

    switch($User) { 

     'done' { 'we are done here' } 
     default { 
      $adminOrNormal = Read-Host 'a for admin or n for normal' 

      switch($adminOrNormal) { 

       'a' { 'admin user' } 
       'n' { 'normal user' } 
       default { Prompt-ForUser } 

      } 
     } 

    } 
} 
Prompt-ForUser 

FYI там являются метки в PowerShell, но они используются для Break петель AFAIK. См. Первый ответ на вопрос this other SO question, например

Смежные вопросы