Script browser для windows powershell ise

A Favorite PowerShell ISE Feature: Script Browser

January 5th, 2016

Summary: Sean Kearney shows you how to browse the TechNet Script Repository from the PowerShell ISE.

Honorary Scripting Guy, Sean Kearney, is here today to introduce you to a pretty cool feature that is available in the Windows PowerShell ISE. It’s an add-on called the Script Browser.

Note This is a five-part series that includes the following posts about features in the Windows PowerShell ISE:

  • Script Analyzer
    Download a free tool for examining your script
  • Script Browser
    Browse the TechNet Script Repository from the Windows PowerShell ISE
  • Module Browser
    Access modules in the PowerShell Gallery
  • Snippets
    Get sample code in the Windows PowerShell ISE
  • Remote Text File Editing
    Bring file editing to the Windows PowerShell ISE

The Script Browser came with my installation yesterday when I dropped in the Script Analyzer. I referenced its existence, but I didn’t show it to you.

After the installation, in the Add-On Tools panel, you’ll see an option you can click called Script Browser:

When you are in this tool, you have the ability to enter your search criteria (the wildcard character is accepted), for example:

You can sort by criteria including Relevance, Popularity, Release Date, Downloads, Ratings, Title, and Author. In the current example, I am sorting strictly on the popularity of Active Directory scripts in the Repository.

When I hit ENTER, the Script Browser queries the Repository and present the following results:

If I click a selection, I have the option to download the script (if it is stored in the Repository), or I can simply copy the script into the ISE Script panel.

By default, scripts will download into my user profile folder as shown here:

This location can be chosen and customized by clicking the gear icon from the Script Browser tab.

In the same settings area, you can provide proxy and authentication settings for your firewall, if needed.

I love using this tool to try to find scripts. It’s far more convenient than the old process of browse, download, open, edit, play because I can now put scripts directly into my ISE.

Afterwards, I can use the Script Analyzer to at least see if it’s somewhat close to good practices in design.

Stop in tomorrow when I’ll look at another free tool that will make the Windows PowerShell ISE even more useful to you.

I invite you to follow the Scripting Guys on Twitter and Facebook. If you have any questions, send email to them at scripter@microsoft.com, or post your questions on the Official Scripting Guys Forum. See you tomorrow. Until then, always remember that with great PowerShell comes great responsibility.

Sean Kearney, Honorary Scripting Guy, Cloud and Datacenter Management MVP

Выбираем среду разработки на PowerShell и пишем скрипты для Windows

Содержание статьи

В администрировании всегда есть место творчеству. Хочешь сделать какую-нибудь автоматизацию рутинной задачи? Пожалуйста! Нужно что-то регулярно проверять на активность? Не вопрос! Хочешь обработать какой-нибудь гигантский отчет и вывести только актуальные данные? Тоже можно. Все эти и многие другие задачи лучше всего решать при помощи скриптов, и язык PowerShell в случае с Windows — оптимальный выбор.

Что такое PowerShell и чем он хорош

Пользователи UNIX и Linux, а с какого-то момента и macOS привыкли к тому, что под рукой всегда есть Bash — немного старомодное, но универсальное и мощное средство, при помощи которого всего парой строк можно творить удивительные вещи. Прописываешь новый скрипт в cron — и готово, он уже крутится на твоем компьютере или на сервере и незаметно делает что-нибудь полезное.

Возвращаясь в Windows (а без этого иногда никак), понимаешь, что скрипты .bat хоть и хороши, но спасают не всегда: очень уж ограниченны их возможности. И если ты до сих пор считал, что PowerShell — это неведомая штуковина, ради которой нужно что-то там поднимать и настраивать, то не спеши с выводами — он, если разобраться, совсем неплох.

Windows PowerShell — это расширяемое средство автоматизации с открытыми исходниками, которое состоит из оболочки (командной строки) и скриптового языка. Впервые он был показан в 2003 году (тогда он назывался Monad). PowerShell 2.0 вышел в составе Windows 7 и Windows Server 2008 R2 и с тех пор присутствует в Windows в качестве стандартного компонента. Его даже включили в Windows XP SP3. PowerShell построен на основе .NET Framework и интегрирован с ним. PowerShell может обращаться к COM, WMI и ADSI, а также, конечно же, исполняет консольные команды.

В общем, «пошик» имеет крепкие связи с продуктами Microsoft, будь то Active Directory или почтовый сервер Exchange. Это позволяет без подключения к оснастке сервера обращаться к ним через консоль и отдавать команды.

Если раньше ты не интересовался PowerShell, то, скорее всего, у тебя стоит вторая версия. Я рекомендую обновиться как минимум до третьей — она содержит куда больше возможностей и полезных фишек. Если не вдаваться в подробности, то в PowerShell 2.0 входит около десятка модулей и примерно 350 команд, а в PowerShell 3.0 уже около 2300 командлетов из более чем 70 модулей. «Хакер» также писал о том, чем отличается самый новый PowerShell пятой версии из Windows 10.

Читайте также:  Windows 10 pro official iso

Выбираем среду разработки и инструменты

Теперь давай разберемся, где удобнее всего писать код. Можно, конечно, и в «Блокноте», Notepad++ или Sublime. Но это в данном случае не самый грамотный выбор редактора. Лучше всего начинать знакомство с PowerShell, вооружившись идущим в комплекте PowerShell ISE.

PowerShell ISE

Xakep #214. Приручаем WAF’ы

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

Тем не менее у PowerShell ISE есть и достойные конкуренты. Один из них — Dell PowerGUI.

PowerGUI — это визуальное дополнение к PowerShell. Оно упрощает сборку собственных сценариев до выбора необходимых командлетов. Берешь то, что нужно для решения задачи, и перетаскиваешь части кода, пока не получишь скрипт. Одна из главных фишек PowerGUI — это Power Packs, готовые скрипты, опубликованные сообществом пользователей и выложенные в свободный доступ. Тут есть и простенькие команды вроде добавления пользователей, и сложные — к примеру, управление свитчами и виртуальными машинами. Все их легко дополнять и модифицировать в соответствии с нуждами.

powergui

PowerShell Studio 2015 фирмы Sapien — более продвинутая среда, которая рассчитана на совместную разработку одного проекта большим количеством участников. Если ты когда-нибудь имел дело с Visual Studio, то, думаю, заметишь сходство. Среди полезных фишек PowerShell Studio — панель Ribbon, поддержка удаленной отладки, а также функции компилятора, которые позволяют включить скрипты в исполняемые файлы. Есть поддержка разных версий PowerShell.

PowerShell Studio 2015

Стоит упомянуть и Script Browser для Windows PowerShell ISE. Это не среда разработки, но весьма интересный инструмент, разработанный в Microsoft. Script Browser открывает доступ к базе готовых скриптов, которые можно использовать в качестве образцов для написания своего кода. А еще эта штука умеет анализировать код, который ты пишешь, и подсказывает, как его улучшить.

Script Browser для Windows PowerShel

Несколько полезных трюков

Разобравшись с редактором, можно приступать к написанию кода. PowerShell — несложный язык, и, я думаю, ты быстро разберешься, что к чему. Команды здесь называются командлетами, и каждый из них состоит из двух частей. Сначала идет действие, например Get, Set, Add, Invoke, Remove. Затем указывается то, на что действие направлено: Service, VM, AzureAccount, DHCPServerSetting. Каждая часть отделяется от другой дефисом. Получается, к примеру, get-process. Это, кстати, полезная команда, которая выводит список процессов. Скажем, если написать

увидим что-то такое:

Теперь можно завершить зависший процесс:

Хочешь посмотреть права на директорию? Сделать это помогает такой командлет:

Можно просмотреть рекурсивно, правда уже чуть с более сложной логикой:

Если не можешь понять, что делает какой-то командлет, напиши следующее (заменив Get-Process на название неизвестного командлета):

Можно также выполнить

В этом случае будет выведен весь список возможных вариантов.

Теперь давай попробуем узнать что-нибудь о нашем домене через консоль PowerShell. К примеру, давай посмотрим пользовательские аккаунты, у которых установлен неистекающий пароль:

Кстати, к каждому полю в окошке опции учетной записи или компьютера можно обратиться и считать данные. Таким образом можно делать целые срезы. Вот, к примеру, запрос на основе данных о телефонных номерах:

PowerShell в сравнении с bat

Иногда задачу можно решить как старым дедовским методом, так и при помощи PowerShell. Я рекомендую не лениться и использовать PS, хотя бы просто потому, что так ты его быстрее изучишь и сможешь применять в более сложных ситуациях. К тому же ты постепенно оценишь его синтаксис — более элегантный и консистентный. Вот несколько примеров, как вещи делались раньше и как их можно сделать при помощи PowerShell.

Следующая командная строка перезагрузит компьютер с задержкой в десять секунд:

На PowerShell это будет выглядеть вот так:

Вот так через bat можно перезагрузить службу dnscache (или любую другую):

В PowerShell это будет так:

Мап диска в bat:

Да, иногда приходится печатать чуть больше букв, но читаются команды PS гораздо лучше. И это не говоря уже про разные новые возможности.

Удаленное управление с PowerShell

В основном описанные в статье команды выполняются на том же компьютере, на котором они запущены. Проще говоря, команды для управления AD выполнять нужно на сервере, где контроллер домена и установлен, что, согласись, на корню рубит удобство и автоматизацию. Для выполнения команд удаленно, что нам и требуется, надо пользоваться специальными командлетами. К примеру, для подключения к удаленному компьютеру и перезапуску там спулера печати вводи

Что почитать еще

Книжек и прочих обучающих материалов по PowerShell огромное количество. Есть как справочники, так и учебные туториалы. Начать можно с сайта Microsoft, где есть неплохие видеоуроки.

Читайте также:  Dir listing in windows

В деле немало поможет и книга «Master-PowerShell» Тобиаса Велтнера. В ней автор охватывает многие понятия вроде массивов, хеш-таблиц, конвейеров, объектов, функций, обработки ошибок, регулярных выражений и так далее. Заодно подробно рассматривается XML и разные аспекты администрирования. Увы, на русский эта книга не переведена.

Из русскоязычных мануалов по PowerShell мне попадался «Windows PowerShell 2.0. Справочник администратора» Уильяма Станека — он весьма неплох.

На «Хабрахабре» есть перевод полезной статьи Джеффери Хикса об администрировании Active Directory при помощи PowerShell.

Итого

Как видишь, все не так сложно, как кажется на первый взгляд. Главное — четко понимать, что нужно на выходе, и на этом основании выбирать командлеты. А с удобным редактором это делать куда легче. Доступность разнообразных заготовок может заметно упростить решение повседневных задач администрирования. Знания «пошика» прокачаешь по ходу дела, а это в работе с Windows совсем не лишнее.

PowerShell, кто Вы и что Вам нужно?

PowerShell — простое синее окно, преобразившее мир администрирования Windows от классического GUI интерфейса, который удобен неподготовленным пользователям, до сценариев, которые автоматизируют все, предоставляют ротацию логов, управление жизненным циклом идентификаций, а также распределением обновлений по серверам.

В новейших версиях Windows Server, где все функции доступны в первую очередь с помощью PowerShell и только потом (а некоторые и вовсе недоступны) с помощью графического интерфейса сервера, PowerShell стал неотъемлемой частью. Правда, иногда трудно понять, все ли правильно Вы делаете. К счастью, есть ресурсы которые помогут Вам ускорить развитие в своих профессиональных навыков.

В этой статье мы кратко рассмотрим девять ресурсов, которые сделают мир PowerShell комфортней для Вас.
Неважно, пишете ли Вы скрипты, работаете в DevOps- ориентированной среде или занимаетесь администрированием программного обеспечения от различных поставщиков, используя PowerShell, я думаю, каждый найдет что-то для себя в этом списке. И что очень приятно — все эти продукты бесплатны, за исключением одного.

PowerGUI является визуальным дополнением к PowerShell. Позволяет упростить сборку собственных сценариев PowerShell до простого выбора необходимых командлетов, которые подходят для Вашей задачи, и перетаскивания их в нужные места. Идеально подходит для тех, кто являются новичком в работе с PowerShell, но имеете базовое понимание концепций. PowerGUI — простой в использовании редактор, который, вероятно, усовершенствует Ваше понимание сборки более сложных и усовершенствованных сценариев, особенно если Вы лучше всего усваиваете информацию визуально.

Наиболее полезной функцией в PowerGUI являются Power Packs: готовые скрипты, которые были опубликованы пользовательским сообществом и представлены в свободном доступе для других пользователей PowerGUI. Функционал данных скриптов варьируются от добавления пользователей до управления свитчами, а также может быть легко модифицирован и дополнен. Вы вольны использовать их в написании своих собственных сценариев, это значительно сэкономит время и не потребует заново изобретать колесо.

PowerGUI был когда-то доступен в платной версии, обладавшей расширенным набором возможностей, но спустя время был свернут в бесплатный продукт. К сожалению, он не обновлялся долгий период времени, но это не делает его менее полезным. Учитывая то, что продукт бесплатный, Вы ничего не потеряете, добавив его к своему арсеналу.

PowerShell Studio 2015 от SAPIEN Technologies

Более продвинутым разработчикам PowerShell и администраторам необходимы более сложные инструменты, и PowerShell Studio 2015 от SAPIEN — это именно то, на что стоит обратить внимание в первую очередь. При первом открытии невольно замечаешь что она схожа с Visual Studio по вполне обоснованной причине: PowerShell Studio 2015 в такой же мере интегрированная среда написания сценариев, в какой Visual Studio — интегрированная среда разработки.

Среди возможностей данного продукта: Ribbon (модульная лента) это привычный для пользователей Windows систем элемент поддержки удаленной отладки, функции компилятора, которые позволяют Вам включить скрипты в исполняемые файлы, поддержка различных версий PowerShell (полезная функция при ориентации сценариев на серверы с различными версиями ОС Windows Server), управление исходным кодом для поддержки входящего и исходящего кода сценария, а так же поддержка множества разработчиков. Все это делает выбор очевидным для предприятий, в которых администраторы и программисты работают вместе над одной задачей.

Есть один неприятный момент, который остановит большинство. Лицензия стоит $389 что «немного» дороговато. Но, учитывая всю функциональность продукта, цена вполне оправдана. В любом случае у Вас есть 45 дней что бы оценить данный продукт и решать, стоит ли он тех денег или нет.

Инструменты AWS для Windows PowerShell от Amazon

Даже такой крупный «облачный» сервис как Amazon видит, что Windows Server развивается и увеличивает свою армию поклонников. Все больше программистов работают с ней, изучая PowerShell и все, что позволяет упростить управление службами Amazon.
Замечая все это, в Amazon решили помочь своим пользователям и создали AWS Tools для Windows PowerShell.

AWS Tools позволяет Вам управлять виртуальными машинами и службами, которые работают на Elastic Compute Cloud (EC2), или писать скрипты, которые позволят автоматизировать управление рабочими мощностями, доступными Вам в различных службах Amazon. AWS Tools добавляет различные командлеты в Windows PowerShell и позволяет управлять скриптами для выполнения различных задач, таких как копирование данных из виртуальных машин EC2 в Simple Storage Service (S3) или протоколирование и публикацию метрик в личной панели управления CloudWatch.

Если Вы достаточно хорошо знаете PowerShell и используете облачные услуги Amazon, эти инструменты будут отличным дополнением в Вашем арсенале.

Читайте также:  Dns domain name in linux

Script Browser для Windows PowerShell ISE

Представьте ситуацию: Вы что-то хотите сделать в PowerShell, Вы знаете какой результат Вам нужен, но Вы еще не знаете, каким образом его достичь. Более того, у Вас есть мысли, что кто уже сталкивался с такой задачей и нашел ответ. В таких ситуациях, естественно, стоит обратится в TechNet Script Center — наверное, наиболее авторитетный источник скриптов PowerShell. Но выискивать нужный скрипт — это долго и нудно. Естественно, нужен инструмент, который будет понимать, что Вам нужно, и сам автоматически искать подходящий скрипт. Исходя именно из таких соображений Microsoft разработал дополнительный инструмент Script Browser, который позволяет с легкостью отыскивать необходимые скрипты в TechNet.

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

Эти инструменты Вы получаете бесплатно в комплекте Windows PowerShell ISE которая является частью OC Windows. Загвоздка в том, что Windows Server и PowerShell ISE требуют активации. Лицензия сама по себе платная, но не стоит отчаиваться. У Вас будет порядка 180 дней что бы испытать данный продукт.

Инструменты PowerShell для Visual Studio от Адама Дрисколля

Если Вы придерживаетесь методологии разработки DevOps, то скорее всего используете Visual Studio. В то время как Visual Studio имеет обширный набор инструментов для разработки, решение из коробки крайне ограничено в работе с PowerShell. Именно по этой причине набор дополнений от Адама Дрисколла будет полезен для Вас. Адам Дрисколл добавил в Visual Studio различные полезные изменения, такие как подсветка синтаксиса различными цвета, в IDE добавил поддержку IntelliSense для автодополнения элементов синтаксиса, таких как аргументы, переменные и командлеты, при вводе в окне Visual Studio. Также было расширено конфигурирование проектов Visual Studio, что позволяет Вам хранить Ваши наработки по скрипам вместе, расширена поддержка параметров сценариев с помощью компилятора MS Build, поддержка отладки сценария с использованием контрольных точек и панели контрольных точек. Также расширены некоторые функции тестирования с адаптерами Pester и PSate.

В общем, это бесплатный набор инструментов для Visual Studio, подогнанных к PowerShell. Адам Дрисколл сделал бесплатные дополнения к базовой Visual Studio, но не откажется, если Вы вознаградите его парой долларов за старания.

Вы можете ознакомится с различными обновлениями и скачать их для себя

Microsoft Windows PowerShell Web Access через панель управления

PowerShell Web Access чем-то напоминает почтовый веб-интерфейс, но для командлетов PowerShell. Вы открываете веб-страницу, которая предоставляет доступ к консоли где Вы можете запускать командлеты, которые выполняют операции и задачи простого удаленного администрирования, прямо через Интернет. Для этого Вам не нужно устанавливать PowerShell, какие-либо расширения или командлеты на устройство, на котором запущен браузер.

Это значит, что Вы можете запустить операции PowerShell с Вашего планшета или телефона, если у Вас на сервере включена данная функция.

PowerShell Web Access доступна сразу же после установки Windows Server и не требует дополнительной оплаты за нее. Данная возможность не привлекла армию поклонников, но все же она полезна, если Вы хотите иметь доступ к оборудованию с любого устройства. Но активация данной функции — это как приглашение для взломщиков. Вам стоит быть осторожными, ограничьте веб-доступ к PowerShell в IIS только IP адресами, которые относятся к Вашей корпоративной сети. Также можно использовать статический IP-адрес VPN сети, сохраняя возможность удаленного доступа с различных устройств.

Здесь Вы можете увидеть как активировать и настроить веб-доступ к PowerShell.

VMware vSphere PowerCLI

Vmware, как и Amazon, понимают, что в некоторых случаях взаимодействие с конкурентами в целях предоставления качественных услуг для общих клиентов полезно. Исходя из этого, VMware создали PowerCLI — среду разработки, основанную на командной строке, для управления ресурсами VMware vSphere, которая интегрирует PowerShell повсюду.

Среда PowerCLI — это в основном набор командлетов, которые взаимодействуют с vSphere и vCloud, а также предоставляют интерфейсы на основе C# и PowerShell для различных API, которые представлены продуктами VMware.

Вы можете ознакомится с средой PowerCLI нажав на эту ссылку.

Microsoft Virtual Academy обучает работе в PowerShell

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

К счастью, Microsoft Virtual Academy содержит множество часов материалов для обучения работе с PowerShell. Эти курсы включают в себя советы от корифеев, таких как отец PowerShell, Джеффри Сновер, выдающихся технологов, которые сделали карьеру на изучении и работе с PowerShell.

Вы можете найти данные курсы перейдя тут.

Master-PowerShell электронная книга от Тобиаса Велтнера

Для людей с хорошей визуальной памятью лучший способ научится — это видеоуроки. Но для тех, кто любит читать больше, чем смотреть видео, подойдет Master-PowerShell доктора Тобиаса Велтнера. Даная книга совершенно бесплатна. Единственное «но» — она доступна только на английском языке. Велтнер охватывает многие вопросы в своей книге, среди которых переменные, массивы и хеш-таблицы, конвейер, объекты, условия, циклы, функции, сценарии, обработка ошибок, текст и регулярные выражения. В книге также подробно рассматривается XML, администрирование с использованием файловой системы, журнал процессов, служб, журнал событий, WMI и пользователей. Так же включена глава по .NET языкам.

Оцените статью