Управление Exchange в командной консоли перехвата ошибки включения почтового ящика

У меня есть сценарий, который создает учетные записи пользователей и устанавливает адрес электронной почты для этих учетных записей. Все «создать-команды» окружены блоком try/catch, чтобы перехватывать ошибки и добавлять сообщение в выходной журнал. Это отлично работает... за исключением команды enable-mailbox

try { 
    Enable-Maibox (.. parameters ...) 
}
catch {
    $errorsEncountered = $true
    Write-Output "Error establishing e-mail address for $($UserData.username)"
}

когда команда enable-mailbox терпит неудачу... часть catch пропускается. Почему это? И как я могу это исправить?


person Walter81    schedule 20.12.2012    source источник


Ответы (2)


Непрерывные ошибки не перехватываются. Используйте '-ErrorAction Stop', чтобы ошибки заканчивались ошибками.

Enable-Maibox (.. parameters ...) -ErrorAction Stop
person Shay Levy    schedule 20.12.2012
comment
но разве это не остановит сценарий полностью? Я не хочу, чтобы он останавливался, только чтобы сообщить об ошибке и продолжить выполнение следующей инструкции. - person Walter81; 20.12.2012
comment
Нет, он не остановит ваш скрипт, а введет ваш улов по желанию. - person Remko; 20.12.2012

Я могу ошибаться, но «Enable-Maibox» выглядит неправильно.

person GermanBrot    schedule 25.03.2015
comment
Принятый ответ, кажется, ответил на вопрос, несмотря на опечатку. Возможно, код был набран вручную. В любом случае, на это был дан ответ несколько лет назад. - person rajah9; 26.03.2015