В качестве языка программирования PowerShell обладает всеми обычными командами передачи управления, позволяющими тестировать значения и выполнять различные действия на основе полученного результата. Все эти команды очень похожи на те, которые можно найти во всех современных языках программирования, поэтому здесь будет дан только их краткий обзор. Если первое Выражение вычисляется в True, PowerShell выполняет первый блок операторов внутри фигурных скобок. Если выражение вычисляется в False, то вычисляется любое следующее выражение, принадлежащее оператору elseif, и если ни одно из выражений в Тrue не вычисляется, выполняется последняя группа операторов в блоке else, если, конечно, такой блок имеется. Группа elseif может быть повторена любое количество раз. Завершающая группа else носит необязательный характер.
Элемент Выражение должен вычисляться в значение True или False. Если результатом является число, то оно рассматривается как False, если значение равно О, в противном случае оно рассматривается как Тrue. Любые другие типы результатов рассматриваются как True. Обычно можно увидеть сравнения, подобные показанному в данном примере: операторы), как и при использовании оператора if. Разница состоит в том, что после выполнения операторов PowerShell возвращает управление обратно в начало управляющего оператора. Выражение вычисляется еще раз, и если оно опять возвращает Тrue, операторы выполняются еще раз и т. д., пока в конце концов Выражение не будет вычислено в False. Затем сценарий выполняет операторы, следующие за циклом while.
Внутри цикла while немедленный выход из цикла осуществляется с помощью оператора break, а немедленный переход к началу следующей итерации осуществляется с помощью оператора continue. Оператор break вскоре будет рассмотрен более подробно. В PowerShell цикл for был взят из языков программирования С и C++, и он отличается необычностью и сложностью в объяснении. Оператор имеет следующую форму: где Инициализатор и Инкрементатор являются выражениями, которые соответственно устанавливают значение переменной и изменяют это значение, а Условие — Это булево выражение, которые вычисляется либо в True, либо в False. Внутри фигурных скобок может быть от нуля и более отдельных операторов.