Добрый день.
Есть скрипт в части которого идет запрос имен доступных серверов, вывод их пользователю и далее ожидается ввода имени сервера с которым пользователь хочет работать.
$ExServerList = Get-MailboxServer
write-host "Exchange Servers: $ServerList"
$ExServer = Read-Host "Exchange server:"
Всё работает, хочу сделать проверку на корректность введенной инфы.
т.е. Например скрипт выводит на экран 3 сервера:
Exchange Servers: Server1 Server2 Server5
И мне надо чтобы только при написании Server1 или Server2 или Server5 скрипт шел дальше, а при вводе не существующего сервера или же ошибки в написании, опять запрашивал ввод имени сервера.
Пытался сделать что то в таком духе
do { $ExServer = Read-Host "Exchange server:" }
until (($ExServerList -match $ExServer ) -eq $true)
Но тогда при введении любой буквы слова содержащегося в переменной $ExServer (и её совпадении с именем сервера в $ExServerList) возвращается $true, т.е. скрипт проходит дальше, но в переменной $ExServer не полное правильное имя
сервера, а только его часть. Поскольку имена разделены пробелами, то можно просто Enter ввести и это тоже срабатывает.
Серверов в переменной $ExServerList может быть и 1 и 10 и больше. Верхний или нижний регистр для
$ExServer роли не играет.
Суть вопроса, что написать чтобы происходила необходимая мне проверка?