Назад | Перейти на главную страницу

Восстановление ошибок Powershell

Во-первых, признание, я все еще довольно зеленый от PowerShell. В любом случае у меня есть сценарий PowerShell, очень похожий на Сценарий PowerShell для перебора всех пользователей в группе

Он работает нормально (сценарий ищет членов группы и устанавливает атрибут AD и т. Д. Некоторое время он работал нормально, обработано около 2500 пользователей, но недавно произошел сбой) format-default: при получении элемента произошло следующее исключение «PSComputerName»: «Неизвестная ошибка (0x80005000)»

Есть один пользователь, который вызывает ошибку. Мой вопрос в том, как мне заставить PowerShell перехватить эту ошибку \ игнорировать ее и продолжить работу?

Спасибо

Нет греха в том, чтобы быть экологичным в технологиях!

Если вы просто хотите полностью игнорировать ошибку и двигаться дальше, вы можете добавить это в начало кода:

$ErrorActionPreference = SilentlyContinue

Никаких исключений не будет, и выполнение продолжится со следующего оператора. Однако это может быть чревато опасностями. В простых сценариях с несколькими операторами этого может быть достаточно. В более широком контексте это может иметь пагубные последствия.

Обычно лучше перехватить исключение и обработать его, и в этом случае вы захотите изучить использование блока try / catch. Это позволит вам попробовать немного кода, и если возникнет исключение, поймайте его и сделайте что-нибудь с ошибкой.

У Scripting Guy есть довольно хорошие сообщения о Powershell:

Попробуйте / поймать / наконец в Powershell

Используйте $ ErrorActionPreference в Powershell