lcnet
06-04-2022, 10:47
Приветствую!
Сделал простенький скрипт, который спрашивает и устанавливает значение переменной в зависимости от выбора и должен завершить цикл, если выбор сделан правильно или продолжить цикл, если выбор сделан неправильно.
Но цикл не хочет работать с условием, по этому внутри цикла ставлю "Break".
Хотелось бы обойтись без костылей.
Подскажите плиз, что не так?
$answer = $(Write-Host "Выбираем сервер: 1 - S170009, 2 - S170013" -ForegroundColor White -BackgroundColor Black) + $(Read-Host)
while($answer -ne '1' -or $answer -ne '2'){
if ($answer -eq '1'){
$srv = 'S170009'
#Break
}
elseif ($answer -eq '2'){
$srv = 'S170013'
#Break
}
else
{
Write-Host "Неправильный выбор. Пробуем еще раз" -ForegroundColor White -BackgroundColor Red
}
$answer = $(Write-Host "Выбираем сервер: 1 - S170009, 2 - S170013" -ForegroundColor White -BackgroundColor Black) + $(Read-Host)
}
Write-Host $srv
Сделал простенький скрипт, который спрашивает и устанавливает значение переменной в зависимости от выбора и должен завершить цикл, если выбор сделан правильно или продолжить цикл, если выбор сделан неправильно.
Но цикл не хочет работать с условием, по этому внутри цикла ставлю "Break".
Хотелось бы обойтись без костылей.
Подскажите плиз, что не так?
$answer = $(Write-Host "Выбираем сервер: 1 - S170009, 2 - S170013" -ForegroundColor White -BackgroundColor Black) + $(Read-Host)
while($answer -ne '1' -or $answer -ne '2'){
if ($answer -eq '1'){
$srv = 'S170009'
#Break
}
elseif ($answer -eq '2'){
$srv = 'S170013'
#Break
}
else
{
Write-Host "Неправильный выбор. Пробуем еще раз" -ForegroundColor White -BackgroundColor Red
}
$answer = $(Write-Host "Выбираем сервер: 1 - S170009, 2 - S170013" -ForegroundColor White -BackgroundColor Black) + $(Read-Host)
}
Write-Host $srv