Логические операторы If, Else и ElseIf используются в PowerShell для проверки различных условий. Оператор If используется для проверки условия и выполнения определенного действия, которое нужно выполнить если условие выполнено (TRUE). Если условие не выполнено (FALSE, вы можете назначить другое действие с помощью Else или ElseIf.
К условным конструкциям в PowerShell относятся операторы:
- IF
- IF…ELSE
- IF…ELSEIF…ELSE
- SWITCH
Логические сравнения лежат в основе практически всех алгоритмических языков программирования. В PowerShell при помощи инструкции If можно выполнять определенные блоки кода только в том случае, когда заданное условие имеет значение True.
Рассмотрим несколько примеров использование операторов If Else в PowerShell.
Самая простая конструкция PowerShell с If выглядит так:
$isActive = $true if ($isActive) { Write-Output "В переменной содержится значение True" }
Команды внутри фигурных скобок {}
(называется ScriptBlock) выполняются только в том случае, если выполнены условия внутри if ().
В нашем примере строка if ($isActive)
сравнивает переменную с булевыми значениями True и False. Если условие выполняется (переменная $isActive = $true
), выполняется код из конструкции ScriptBlock — {…action …}. Если условие не выполняется ScriptBlock пропускается.
В отличии от оператора If, оператор Else не является обязательным. Код из ScriptBlock оператора Else выполняется тогда, когда результат предыдущих проверок равен Fasle.
$isActive = $true if ($isActive) { Write-Output "The value is True" } else { Write-Output "The value is False" }
Elseif используется, если нужно проверить несколько значений. Оператор Elseif можно использовать несколько раз.
$isActive = $False $company = "VMBLOG" if ($isActive) { Write-Output "Первое условие верно" } elseif ($company -eq “SBER”) { Write-Output " Второе условие не верно" Write-Output "Компания SBER" } elseif ($company -eq “VTB”) { Write-Output "Второе условие не верно" Write-Output "Компания VTB" } else { Write-Output "Первое условие неверно, пользователь не активен" }
В результате выполнения этого скрипта на экран будет выведена надпись “Первое условие неверно, пользователь не активен”.
Если условий проверки очень много, становится неудобные использовать контракцию If Else. При большом количестве проверяемых условий лучше применять логический оператор Switch, которые позволяет объединить список условий в одной конструкции. Switch поочередно сопоставляет проверяемое значение (value) с каждым заданным условием (condition), и если находит совпадение, то выполняет действие (action).
Базовый синтаксис конструкции PowerShell с использованием оператор Switch выглядит так:
Switch (value) { condition 1 {action} condition 2 {action} condition x {action}}