Ошибки не фиксируются должным образом в скрипте Powershell, выполняемом в командной консоли Exchange. Пойман правильно при запуске в обычной оболочке Powershell /CLI
У меня есть сценарий Powershell .ps1, который запускается через командную консоль Exchange. При тестировании и написании скрипта все работало отлично. Командлеты внутри блоков try с "-ErrorAction 'stop'" правильно попадают в блок catch при ошибке.
Однако при запуске сценария через командную консоль Exchange ошибки не попадают в ловушку должным образом. Параметр -ErrorAction для командлетов также может быть "продолжен", они выводятся на экран и продолжают работу, как будто ошибки не было, поэтому блок catch вообще не запускается.
Почему сценарий, запускаемый в EMS, неправильно перехватывает ошибки, когда он перехватывает ошибки при запуске в Powershell ISE или обычной оболочке /CLI Powershell?