• Document: Обработка ошибок и отладка
  • Size: 363.84 KB
  • Uploaded: 2019-05-16 22:47:18
  • Status: Successfully converted


Some snippets from your converted document:

Глава 9 Обработка ошибок и отладка При применении сценариев для решения реальных администраторских задач (например, для управления учетными записями пользователей, резервного копирования информации на серверах, анализа журналов событий с целью выявления попыток несанкционированного доступа в систему и т. п.) весьма актуальной становится обработка возможных ошибок или исключительных ситуаций. Нужно быть уверенным, что определенная задача выполнена пол- ностью, а в случае возникновения ошибки проанализировать и устранить ее. Язык PowerShell предлагает несколько механизмов обработки ошибок, кото- рые мы рассмотрим подробнее в данной главе. Кроме того, в оболочке PowerShell имеются средства отладки сценариев, по- могающие находить ошибки в программном коде, а также анализировать ход выполнения сценариев и состояние системы при этом. Давайте сначала посмотрим, с помощью каких объектов можно определить факт возникновения ошибки при выполнении команды PowerShell и какую информацию можно извлечь из этих ошибок. Обработка ошибок Возникновение ошибки при выполнении команды PowerShell приводит не только к выводу текстовых сообщений на экран, а еще и к автоматическому созданию настоящего объекта, в свойствах которого содержится полная ин- формация о данной ошибке. Один аспект обработки ошибок в PowerShell отличает эту систему от дру- гих языков программирования: ошибки здесь могут быть "критическими" (прерывающими выполнение команды) и "некритическими" (при их воз- никновении выполнение команды продолжается). Это связано с тем, что для обработки объектов в PowerShell используется модель конвейера команд. 176 Часть I. Изучаем PowerShell При возникновении "некритической" ошибки информация о ней записыва- ется в соответствующий объект, а текущая команда продолжает обрабаты- вать поступающие к ней по конвейеру объекты. Подобная ошибка может возникнуть, например, при копировании с помощью командлета множества файлов, один из которых оказался занят другим приложением. В таком слу- чае логично продолжить копирование остальных файлов. Если же выполня- ется какая-то важная и логически неделимая операция, то может иметь смысл остановить ее после возникновения первой ошибки (тогда подобная ошибка будет "критической"). При этом одна и та же ошибка в одной ситуации должна считаться "критической", а в другой — "некрити- ческой". Поэтому в PowerShell встроен механизм, позволяющий явно зада- вать эти типы для ошибок. При возникновении "некритических" ошибок информация о них помещается в объекты типа ErrorRecord, которые записываются в специальный поток ошибок. Рассмотрим, каким образом можно обращаться к данным объектам и какую информацию можно из них извлечь. Объект ErrorRecord и поток ошибок В PowerShell информация о возникающих ошибках записывается в поток ошибок, который по умолчанию отобра

Recently converted files (publicly available):