![]() |
Перехват ошибок
Добрый День!
Необходимо у активного сетевого интерфейса получить определенные сведения. Подключение к ПК производиться средствами WMI и на определенных ПК возникает ошибка подключения. Если на ПК числиться более одного сетевого интерфейса, происходит перезапись в ячейке Excel последними найденными данными, ни как не получается корректно вставить блок try catch. Код:
Set-PSDebug -Trace 0 |
Если версия Powershell на целевых машинах современная, гораздо удобнее пользоваться Get-NetAdapter, и вообще, лучше настроить так, чтобы можно было подключаться к удалённым машинам прямо самой консолью.
Если конечный файл xlsx, то для Powershell есть отличный модуль ImportExcel, позволяющий работать с такими файлами без Экселя. В блоке try-catch не надо указывать ErrorAction. |
Добрый День!
Это как можно перехватывать ошибки не указывая ErrorAction -Stop? Что-то не припомню такого. ImportExcel - это дополнительный модуль, при нашей орг структуре, использование сторонних модулей без особой необходимости не приемлемо. Проблема не в том что используется для получения сведений, а в том что не можем корректно выполнить перехват ошибок. |
Цитата:
Существуют прерывающие и не прерывающие ошибки. Прерывающие ошибки приводят к исключению, а исключение уже ловится в try-catch. параметр команды: Код:
-ea 1 В командлетах есть возможность переопределять переменную, сохраняющую ошибки (то бишь для каждого можно назначить свою). Пример Код:
gsv servicess,serv,notserv -ea 0 -errorvariable +var А прерывающие ошибки, уже отлавливать в try-catch... |
Время: 02:31. |
Время: 02:31.
© OSzone.net 2001-