Недавно я принимал участие в реализации одного проекта, в котором мне пришлось переделывать множество сценариев Windows в сценарии Windows PowerShell. Помучившись с Notepad, я начал искать другой способ. Я уже слышал о бесплатном инструменте PowerGUI компании Quest Software и решил его опробовать. PowerGUI мне сразу же понравился. С его помощью удалось преодолеть все трудности в создании PowerShell благодаря эффективной среде разработки сценариев в стиле .NET. Для разработки PowerShell я очень советую проверить PowerGUI на практике. Его можно загрузить с powergui.org/index.jspa. Вот десять главных функций PowerGUI.
-
Графический редактор. Ядро PowerGUI составляет графический редактор. Как и следовало ожидать, редактор дает основные функции редактирования, копирования и вставки. Разбиение окна позволяет удобно работать с двумя разными фрагментами одного и того же сценария. В редакторе присутствует нумерация строк в левой части окна, что позволяет легко находить строки, в которых обнаружены ошибки при выполнении сценария.
-
Вкладки для работы со сценариями. Среда разработки PowerGUI использует интерфейс с вкладками. В отличие от Notepad, который позволяет работать с одним документом, PowerGUI дает возможность открывать много сценариев одновременно в разных вкладках, что помогает читать похожие сценарии, копировать и вставлять нужные фрагменты.
-
Подсказки PowerShell в стиле IntelliSense. Хотя это не IntelliSense в полном объеме, предлагаемый в Microsoft Visual Studio, все же подсказки PowerGUI в стиле IntelliSense реально помогают получать нужную информацию и применять разнообразные команды PowerShell. Подсказки PowerGUI дают окончание имени команд и показывают параметры каждой команды PowerShell.
-
Библиотеки PowerShell. PowerGUI позволяет управлять подключаемыми модулями PowerShell, которые расширяют возможности среды разработки PowerShell, например предоставляют доступ к Active Directory, Microsoft Exchange Server и Microsoft SQL Server. Библиотека PowerGUI Library включает подключаемые приложения, которые можно загрузить с powergui.org/kbcategory.jspa? categoryID=21.
-
Фрагменты кода. PowerGUI содержит шаблоны, которые помогают быстрее создавать синтаксически правильные сценарии PowerShell. Фрагменты кода в PowerGUI можно увидеть, щелкнув правой кнопкой мыши в окне редактирования. Среди них — foreach, Do While, Do Until, For, If, Else и многие другие распространенные операторы PowerShell.
-
Окно Output. Окно Output, расположенное в среде разработки справа внизу, показывает результат выполняемого сценария и полные сообщения об ошибках, которые могут помочь при разработке и отладке сценария.
-
Run in External PowerShell Window. Параметр Run in External PowerShell Window («Выполнить во внешнем окне PowerShell») запускает новое окно консоли PowerShell, в котором выполняется отлаживаемый сценарий. Мне показалось, что окно Output более полезно на начальной стадии разработки сценария, а использование внешнего окна удобнее на заключительной стадии процесса, поскольку сценарий выполняется как бы в рабочей среде.
-
Входные параметры сценария. Разработка сценариев — это только точка старта. Сценарии необходимо еще и выполнить, причем здесь могут понадобиться параметры, один или больше. Окно Input script parameters here («Ввод параметров запуска сценария») находится сверху окна оболочки разработки PowerGUI. Оно позволяет вводить параметры запуска сценария и видеть значения используемых параметров. Параметры запуска являются общими для всех открытых сценариев в среде разработки.
-
Окно переменных Locals. Окно Locals, предназначенное для просмотра значений переменных сценария, — прекрасная функция отладки. По умолчанию оно размещается в нижнем левом углу среды разработки. В окне Locals отображаются все переменные сценария, а также их значения. Кроме того, оно показывает любые экземпляры объектов .NET и позволяет заглянуть в их свойства.
-
Интегрированный отладчик. Конечно, интегрированный отладчик — любимая функция PowerGUI. Я искал возможность отладить сценарии PowerShell, и именно PowerGUI дает как раз то, что нужно. Отладчик позволяет устанавливать контрольные точки и дает возможность пошагового выполнения кода. Эта функция существенно ускоряет процесс разработки сценария и помогает писать хорошие сценарии.