Ошибки не игнорируются в Start-Job InitializationScript - PullRequest
1 голос
/ 29 октября 2010

У меня есть модуль скрипта, чей файл .psm1 запускает команду, которая не будет выполнена, если определенное значение реестра отсутствует.Я хочу игнорировать этот сбой, поэтому сценарий .psm1 выполняет команду как:

CommandThatMayFail -ea SilentlyContinue

Это прекрасно работает, когда я импортирую модуль в сеансе PowerShell.Но одна из функций в этом модуле запускает некоторые задания PS, которые также требуют импорта модуля.Когда я импортирую модуль в InitializationScript задания, сбои из CommandThatMayFail не игнорируются, и задание завершается.Я попытался обернуть CommandThatMayFail в блок Try / Catch, но это не помогло никому.

Я избежал проблемы, импортировав модуль в ScriptBlock задания вместо InitializationScript.Но мне все еще интересно, что здесь происходит.Кто-нибудь может пролить свет?

1 Ответ

0 голосов
/ 29 октября 2010

Попробуйте поместить ловушку в ту же область, что и InitializationScript, но ПРЕКРАТИТЬ ее в коде:

Trap{
    <commands you want it to run in case of error>;
    continue
    }

Важной частью является точка с запятой и continue. У меня была такая же проблема сегодня, как ни странно, и это исправило ее для меня. Я думаю, что это проблема с завершающими / не завершающими ошибками и областями действия, но это единственный способ, которым я мог решить это в своем собственном сценарии.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...