виндовс повер шелл что это за программа

Что такое Windows PowerShell и с чем его едят? Часть 1: основные возможности

Исторически утилиты командной строки в Unix-системах развиты лучше чем в Windows, однако с появлением нового решения ситуация изменилась.

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

виндовс повер шелл что это за программа. Смотреть фото виндовс повер шелл что это за программа. Смотреть картинку виндовс повер шелл что это за программа. Картинка про виндовс повер шелл что это за программа. Фото виндовс повер шелл что это за программа

Основные возможности

Windows PowerShell позволяет:

Оболочка и среда разработки

Существует Windows PowerShell в двух ипостасях: помимо эмулятора консоли с командной оболочкой есть интегрированная среда сценариев (Integrated Scripting Environment — ISE). Чтобы получить доступ к интерфейсу командной строки достаточно выбрать соответствующий ярлык в меню Windows или запустить powershell.exe из меню «Выполнить». На экране появится синее окошко, заметно отличающееся по возможностям от допотопного cmd.exe. Там есть автодополнение и другие фишки, привычные пользователям командных оболочек для Unix-систем.

виндовс повер шелл что это за программа. Смотреть фото виндовс повер шелл что это за программа. Смотреть картинку виндовс повер шелл что это за программа. Картинка про виндовс повер шелл что это за программа. Фото виндовс повер шелл что это за программа

Для работы с оболочкой нужно запомнить некоторые сочетания клавиш:

виндовс повер шелл что это за программа. Смотреть фото виндовс повер шелл что это за программа. Смотреть картинку виндовс повер шелл что это за программа. Картинка про виндовс повер шелл что это за программа. Фото виндовс повер шелл что это за программа

Windows PowerShell ISE является полноценной средой разработки с поддерживающим вкладки и подсветку синтаксиса редактором кода, конструктором команд, встроенным отладчиком и другими программистскими радостями. Если в редакторе среды разработки после имени команды написать знак дефис, вы получите в выпадающем списке все доступные параметры с указанием типа. Запустить PowerShell ISE можно либо через ярлык из системного меню, либо с помощью исполняемого файла powershell_ise.exe.

виндовс повер шелл что это за программа. Смотреть фото виндовс повер шелл что это за программа. Смотреть картинку виндовс повер шелл что это за программа. Картинка про виндовс повер шелл что это за программа. Фото виндовс повер шелл что это за программа

Командлеты

Помимо Get в командлетах для обозначения действий используются и другие глаголы (и не только глаголы, строго говоря). В списке ниже мы приведем несколько примеров:

Add — добавить;
Clear — очистить;
Enable — включить;
Disable — выключить;
New — создать;
Remove — удалить;
Set — задать;
Start — запустить;
Stop — остановить;
Export — экспортировать;
Import — импортировать.

Есть системные, пользовательские и опциональные командлеты: в результате выполнения все они возвращают объект или массив объектов. К регистру они не чувствительны, т.е. с точки зрения интерпретатора команд нет разницы между Get-Help и get-help. Для разделения используется символ ‘;’, но ставить его обязательно только если в одной строке выполняется несколько командлетов.

Командлеты Windows PowerShell группируются в модули (NetTCPIP, Hyper-V и т.д.), а для поиска по объекту и действию существует командлет Get-Command. Показать справку по нему можно так:

виндовс повер шелл что это за программа. Смотреть фото виндовс повер шелл что это за программа. Смотреть картинку виндовс повер шелл что это за программа. Картинка про виндовс повер шелл что это за программа. Фото виндовс повер шелл что это за программа

Справка в Windows PowerShell обновляется командлетом Update-Help. Если строка команд получается слишком длинной, аргументы командлета можно перенести на следующую, написав служебный символ ‘`’ и нажав Enter — просто закончить писать команду на одной строке и продолжить на другой не получится.

Ниже приведем несколько примеров распространенных командлетов:

Get-Process — показать запущенные в системе процессы;
Get-Service — показать службы и их статус;
Get-Content — вывести содержимое файла.

Для часто используемых командлетов и внешних утилит в Windows PowerShell есть короткие синонимы — алиасы (от англ. Alias). Например, dir — алиас Get-ChildItem. Есть в списке синонимов и аналоги команд из Unix-систем (ls, ps и т.д.), а командлет Get-Help вызывается командой help. Полный список синонимов можно посмотреть с помощью командлета Get-Alias:

виндовс повер шелл что это за программа. Смотреть фото виндовс повер шелл что это за программа. Смотреть картинку виндовс повер шелл что это за программа. Картинка про виндовс повер шелл что это за программа. Фото виндовс повер шелл что это за программа

Сценарии, функции, модули и язык PowerShell

Restricted — запуск сценариев запрещен (по умолчанию);
AllSigned — разрешен только запуск подписанных доверенным разработчиком сценариев;
RemoteSigned — разрешен запуск подписанных и собственных сценариев;
Unrestricted — разрешен запуск любых сценариев.

У администратора есть два варианта действий. Наиболее безопасный предполагает подписание скриптов, но это довольно серьезное колдунство — мы будем разбираться с ним в следующих статьях. Сейчас пойдем по пути наименьшего сопротивления и поменяем политику:

виндовс повер шелл что это за программа. Смотреть фото виндовс повер шелл что это за программа. Смотреть картинку виндовс повер шелл что это за программа. Картинка про виндовс повер шелл что это за программа. Фото виндовс повер шелл что это за программа

PowerShell для этого придется запустить от имени администратора, хотя с помощью специального параметра можно изменить политику и для текущего пользователя.

Пишутся скрипты на объектно-ориентированном языке программирования, команды которого именуются по тому же принципу, что и рассмотренные ранее командлеты: «Действие-Объект» («Глагол-Существительное»). Основное его предназначение — автоматизация задач администрирования, но это полноценный интерпретируемый язык, в котором есть все необходимые конструкции: условный переход, циклы, переменные, массивы, объекты, обработка ошибок и т.д. Для написания сценариев годится любой текстовый редактор, но удобнее всего запустить Windows PowerShell ISE.

Конвейеры

В последнем примере мы применили знакомую пользователям оболочек для Unix-систем конструкцию. В Windows PowerShell вертикальная черта также позволяет передать выход одной команды на вход другой, но в реализации конвейера есть и существенная разница: речь здесь идет уже не о наборе символов или каком-то тексте. Встроенные командлеты или пользовательские функции возвращают объекты или массивы объектов, а также могут получать их на входе. Как в Bourne shell и его многочисленных последователях, в PowerShell с помощью конвейера упрощается выполнение сложных задач.

Простейший пример конвейера выглядит так:

виндовс повер шелл что это за программа. Смотреть фото виндовс повер шелл что это за программа. Смотреть картинку виндовс повер шелл что это за программа. Картинка про виндовс повер шелл что это за программа. Фото виндовс повер шелл что это за программа

Сначала выполняется командлет Get-Service, а потом все полученные им службы передаются на сортировку по свойству Status командлету Sort-Object. В какой именно аргумент передается результат работы предыдущего участка конвейера, зависит от его типа — обычно это InputObject. Подробнее этот вопрос будет рассматриваться в посвященной языку программирования PowerShell статье.

При желании цепочку можно продолжить и передать результат работы Sort-Object еще одному командлету (выполняться они будут слева направо). Кстати, пользователям Windows доступна и привычная всем юниксоидам конструкция для постраничного вывода:

Запуск задач в фоновом режиме

Довольно часто бывает нужно запустить некую команду в фоне, чтобы не дожидаться результата ее выполнения в сессии оболочки. В Windows PowerShell есть несколько командлетов на такой случай:

Start-Job — запуск фоновой задачи;
Stop-Job — остановка фоновой задачи;
Get-Job — просмотр списка фоновых задач;
Receive-Job — просмотр результата выполнения фоновой задачи;
Remove-Job — удаление фоновой задачи;
Wait-Job — перевод фоновой задачи обратно в консоль.

Для запуска фоновой задачи мы используем командлет Start-Job и в фигурных скобках указываем команду или набор команд:

виндовс повер шелл что это за программа. Смотреть фото виндовс повер шелл что это за программа. Смотреть картинку виндовс повер шелл что это за программа. Картинка про виндовс повер шелл что это за программа. Фото виндовс повер шелл что это за программа

Фоновыми задачами в Windows PowerShell можно манипулировать, зная их имена. Для начала научимся их отображать:

виндовс повер шелл что это за программа. Смотреть фото виндовс повер шелл что это за программа. Смотреть картинку виндовс повер шелл что это за программа. Картинка про виндовс повер шелл что это за программа. Фото виндовс повер шелл что это за программа

Теперь покажем результат работы задания Job1:

виндовс повер шелл что это за программа. Смотреть фото виндовс повер шелл что это за программа. Смотреть картинку виндовс повер шелл что это за программа. Картинка про виндовс повер шелл что это за программа. Фото виндовс повер шелл что это за программа

Всё довольно просто.

Удаленное выполнение команд

Windows PowerShell позволяет выполнять команды и сценарии не только на локальном, но и на удаленном компьютере и даже на целой группе машин. Для этого существует несколько способов:

Версии PowerShell

виндовс повер шелл что это за программа. Смотреть фото виндовс повер шелл что это за программа. Смотреть картинку виндовс повер шелл что это за программа. Картинка про виндовс повер шелл что это за программа. Фото виндовс повер шелл что это за программа

Также можно воспользоваться командлетом:

виндовс повер шелл что это за программа. Смотреть фото виндовс повер шелл что это за программа. Смотреть картинку виндовс повер шелл что это за программа. Картинка про виндовс повер шелл что это за программа. Фото виндовс повер шелл что это за программа

То же самое делается и с помощью командлета Get-Host. На самом деле вариантов множество, но для их применения нужно изучить язык программирования PowerShell, чем мы и займемся в следующей статье.

Итоги

Источник

Windows PowerShell Справочник программистов’s

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

мощная среда выполнения Windows PowerShell (механизм выполнения) с собственным анализатором и механизмом для автоматической привязки параметров команды.

Служебные программы для форматирования и отображения результатов команд с помощью интерпретатора командной строки (CLI).

поддержка высокого уровня функциональности (с помощью поставщиков Windows PowerShell), которые упрощают доступ к сохраненным данным.

в следующем разделе рассматриваются ключевые Windows PowerShell концепции и термины. Ознакомьтесь с этими понятиями и терминами перед началом разработки.

Сведения о Windows PowerShell

Windows PowerShell определяет несколько типов команд, которые можно использовать в разработке. Эти команды включают в себя функции, фильтры, скрипты, псевдонимы и исполняемые объекты (приложения). Основной тип команды, описанный в этом разделе, — это простая небольшая команда, называемая «командлетом». Windows PowerShell представляя набор командлетов и полностью поддерживает настройку командлетов в соответствии с вашей средой. среда выполнения Windows PowerShell обрабатывает все типы команд точно так же, как командлеты, используя конвейеры.

в дополнение к командам Windows PowerShell поддерживает различные настраиваемые поставщики Windows PowerShell, которые делают доступными определенные наборы командлетов. оболочка работает в ведущем приложении, предоставленном Windows PowerShell (Windows PowerShell.exe), но оно также доступно из пользовательского ведущего приложения, которое можно разрабатывать для удовлетворения конкретных требований. дополнительные сведения см. в разделе как работает Windows PowerShell.

Командлеты Windows PowerShell

командлет — это упрощенная команда, используемая в среде Windows PowerShell. среда выполнения Windows PowerShell вызывает эти командлеты в контексте скриптов автоматизации, предоставленных в командной строке, а среда выполнения Windows PowerShell также вызывает их программно через api-интерфейсы Windows PowerShell.

Windows PowerShell Поставщик

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

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

если вы предоставляете хранилище данных, к которому пользователю потребуется доступ, может потребоваться написать собственный поставщик Windows PowerShell, как описано в разделе создание поставщиков Windows PowerShell. дополнительные сведения о поставщиках абаутвиндовс PowerShell см. в разделе работа Windows PowerShell.

Ведущее приложение

Windows PowerShell включает ведущее приложение по умолчанию powershell.exe, которое является консольным приложением, взаимодействующим с пользователем и размещает среду выполнения Windows PowerShell с помощью окна консоли.

только редко приходится писать собственное ведущее приложение для Windows PowerShell, хотя настройка поддерживается. Один из случаев, когда вам может потребоваться ваше собственное приложение, — это потребность в ПОЛЬЗОВАТЕЛЬСКОМ интерфейсе, который более широк, чем интерфейс, предоставленный ведущим приложением по умолчанию. Вам также может потребоваться пользовательское приложение при создании базового графического интерфейса пользователя в командной строке. дополнительные сведения см. в разделе создание Windows PowerShell ведущего приложения.

Windows PowerShell Этапе

среда выполнения Windows PowerShell — это подсистема выполнения, реализующая обработку команд. он включает классы, предоставляющие интерфейс между ведущим приложением и Windows PowerShell командами и поставщиками. среда выполнения Windows PowerShell реализуется как объект пространства выполнения для текущего сеанса Windows PowerShell, который является рабочей средой, в которой выполняется оболочка и команды. сведения о работе см. в разделе Windows PowerShell works.

Windows PowerShell Языке

язык Windows PowerShell предоставляет функции и механизмы создания скриптов для вызова команд. полные сведения о сценариях см. в справочнике по языку Windows PowerShell, поставляемом с Windows PowerShell.

Расширенная система типов (ETS)

Просмотр подмножества элементов конкретных объектов. Windows PowerShell предоставляет «адаптированное» представление нескольких конкретных типов объектов.

Добавление элементов в существующие объекты.

Доступ к сериализованным объектам.

Написание настраиваемых объектов.

дополнительные сведения о ETS и о том, как Windows PowerShell использует объекты, см. в разделе основные понятия Windows PowerShell Object.

Программирование для Windows PowerShell

Справочник программиста

справочные сведения о разработке для Windows PowerShell см. в разделе пакет SDK для Windows PowerShell.

начало работы с помощью Windows PowerShell

Источник

Основы Windows PowerShell

В данной статье мы рассмотрим такую технологию от компании Microsoft как Windows PowerShell, мы поговорим о том, что такое PowerShell, что такое командлеты и конвейер, как писать сценарии и модули, а также затронем другие не менее важные и полезные возможности Windows PowerShell.

виндовс повер шелл что это за программа. Смотреть фото виндовс повер шелл что это за программа. Смотреть картинку виндовс повер шелл что это за программа. Картинка про виндовс повер шелл что это за программа. Фото виндовс повер шелл что это за программа

Что способствовало появлению Windows PowerShell?

До появления PowerShell существовали (и существуют) следующие инструменты для автоматизации и администрирования сервисов: командная строка Windows и Windows Script Host. Но у этих технологий есть недостатки.

У командной строки Windows есть и возможность выполнять какие-то административные задачи и возможность записать алгоритм действий, сохранив его в виде скрипта (bat-файла), при этом можно использовать некие элементы программирования, например, использовать переменные, условные конструкции и даже что-то вроде циклов.

Большинство программных продуктов имеет консольный интерфейс, т.е. мы можем управлять программой, используя командную строку, при этом экономя ресурсы за счет отсутствия затрат на работу графического интерфейса. Компания Microsoft для серверной операционной системы Windows Server даже выпускает редакции без графического интерфейса (Server Core, в Windows Server 2019), но всего этого недостаточно, так как возможности командной строки ограничены, т.е. написать какую-то сложную логику для автоматизации чего-либо мы не сможем, а если и сможем, то на это нам потребуется время и знания.

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

Технология Windows Script Host позволяет выполнять все административные задачи, что и командная строка, включая их автоматизацию путем написания WSH скриптов, но здесь мы уже можем использовать полноценные языки программирования (VBScript и JScript), т.е. можно реализовывать сложную логику и алгоритмы. К тому же с помощью WSH мы управляем программными продуктами через объектный интерфейс, другими словами Windows Script Host намного «круче» чем командная строка. Но данная технология также не стала тем идеальным инструментом администрирования и автоматизации этого администрирования для системных администраторов, так как Windows Script Host требовал знаний вышеперечисленных языков программирования, что для системных администраторов на самом деле лишнее. Администраторам нужно всего лишь простой инструмент администрирования с возможностью запрограммировать какие-то действия, а углубляться в объектные модели программных продуктов на языках программирования VBScript и JScript им не хочется.

В итоге компании Microsoft необходимо было разработать такой инструмент администрирования для системных администраторов, который бы на 100 процентов удовлетворял все потребности сисадминов как в плане возможностей администрирования и автоматизации, так и в плане удобства и простоты использования, таким образом, появился Windows PowerShell.

Что такое Windows PowerShell?

виндовс повер шелл что это за программа. Смотреть фото виндовс повер шелл что это за программа. Смотреть картинку виндовс повер шелл что это за программа. Картинка про виндовс повер шелл что это за программа. Фото виндовс повер шелл что это за программа

Windows PowerShell – это язык сценариев и командная оболочка Windows, которые разработаны для администрирования и конфигурирования операционных систем Windows.

В Windows PowerShell Microsoft разработала концепцию командлетов (cmdlets), которая представляет собой систему именования команд «Глагол-Существительное». Данная система позволяет системным администраторам быстрей освоить и упростить работу с PowerShell.

С помощью Windows PowerShell можно:

Windows PowerShell содержит многие часто используемые утилиты и команды, запускаемые из командной строки, например ipconfig, ping и другие. Сделано это для того, чтобы облегчить переход системных администраторов с командной строки на PowerShell.

Также для удобства многие часто используемые команды и утилиты в PowerShell имеют синонимы (Alias), например cls — это синоним командлета Clear-Host, dir синоним Get-ChildItem (полный список синонимов можно посмотреть путем запуска командлета Get-Alias).

Для упрощения поиска нужной команды в PowerShell есть специальный командлет Get-Command, с помощью которого можно осуществлять поиск, как по глаголу, так и по существительному. Все команды в Windows PowerShell сгруппированы в модули (например, Hyper-V, NetTCPIP), что также упрощает поиск нужной команды.

После того как нужная команда найдена, можно посмотреть инструкцию по работе с этой командой, т.е. справку, для этих целей есть специальный командлет Get-Help, например следующая команда покажет справку по командлету Get-Command:

Справка PowerShell обновляемая, т.е. ее можно обновить командой Update-Help.

Версии Windows PowerShell

Первая версия PowerShell 1.0 появилась 14 ноября 2006 года и выпускалась в виде отдельного дистрибутива, который можно было установить на следующие версии операционных систем Windows: Windows XP Service Pack 2, Windows Server 2003 Service Pack 1 и Windows Vista.

В Windows Server 2008 PowerShell 1.0 поставлялся в виде компонента, который также нужно было устанавливать.

Начиная с Windows 7 и Windows Server 2008 R2, PowerShell поставляется как неотъемлемый компонент системы (т.е. предустановленный, устанавливать его не надо). Ниже представлена таблица соответствия версии PowerShell и версии операционной системы Windows (т.е. какая версия PowerShell по умолчанию установлена в той или иной версии Windows):

Версия PowerShellВерсии Windows
PowerShell 2.0Windows 7, Windows Server 2008 R2
PowerShell 3.0Windows 8, Windows Server 2012
PowerShell 4.0Windows 8.1, Windows Server 2012 R2
PowerShell 5.0Windows 10, Windows Server 2016

С каждой новой версией PowerShell становится все более мощным инструментом администрирования, для сравнения в первой PowerShell было около 130 командлетов, а в PowerShell 5.0 их уже более 600!

Или запустите командлет

где, значение PSVersion и будет версией PowerShell.

Язык PowerShell

PowerShell – это объектно-ориентированный скриптовой язык программирования.

Он используется для написания команд управления всеми компонентами операционной системы Windows в оболочке Windows PowerShell, а также для написания сценариев автоматизации задач администрирования в интегрированной среде сценариев Windows PowerShell (ISE). Язык PowerShell хоть и создан для задач администрирования, он является полноценным скриптовым языком программирования, так как имеет программные конструкции, которые присутствуют в каждом языке программирования, такие как: условия, циклы, обработка ошибок, работа с переменными, объектами, массивами.

Язык PowerShell имеет единый синтаксис написания команд и структуру именования этих команд по принципу «Глагол-Существительное», что делает данный язык интуитивно понятным как для программистов, так и для системных администраторов.

Более подробно о программировании на данном языке можете посмотреть в материале — Программирование на языке PowerShell.

Оболочка Windows PowerShell

Оболочка Windows PowerShell – это среда выполнения команд и сценариев на языке PowerShell.

Данная оболочка имеет те же возможности что и командная строка такие как: хранение истории выполнения команд, настройка внешнего вида оболочки, завершение выполнения команд сочетанием клавиш Ctrl+C, а также много других возможностей, которых нет в оболочке командной строки, например такая замечательная возможность как «подсветка синтаксиса» (появилась в PowerShell 5.0).

Запустить оболочку PowerShell можно несколькими способами, например:

Пример запуска PowerShell в Windows Server 2016

виндовс повер шелл что это за программа. Смотреть фото виндовс повер шелл что это за программа. Смотреть картинку виндовс повер шелл что это за программа. Картинка про виндовс повер шелл что это за программа. Фото виндовс повер шелл что это за программа

Скриншот оболочки PowerShell в Windows Server 2016

виндовс повер шелл что это за программа. Смотреть фото виндовс повер шелл что это за программа. Смотреть картинку виндовс повер шелл что это за программа. Картинка про виндовс повер шелл что это за программа. Фото виндовс повер шелл что это за программа

Командлеты в PowerShell

Командлет (cmdlet) – это команда Windows PowerShell, с помощью которой можно осуществлять взаимодействие с объектами операционной системы с целью их управления.

Данные команды являются частью языка PowerShell. Командлеты построены по принципу «Глагол-Существительное», разделенные дефисом (-); другими словами, мы сначала указываем, что делать, а через дефис — над чем. Например, командлет Get-Help, где Get — это глагол, означающий «Получить», а Help — существительное «Помощь» в контексте PowerShell «Показать – Справку». Командлеты PowerShell возвращают результаты в виде объектов, что является одним из главных отличий от командной строки Windows, в которой команды возвращают только текст на экран.

Кроме командлетов на получение данных (Get), существуют и такие типы командлетов как:

Как Вы уже поняли, у командлетов есть параметры, с помощью которых мы можем конкретизировать действия командлета. Параметры бывают обязательные и необязательные, например, у командлета Get-Command обязательных параметров нет.

Ниже на картинке представлен способ поиска командлета по глаголу (параметр Verb). В данном случае у нас отобразился список командлетов, которые умеют что-то перезапускать.

виндовс повер шелл что это за программа. Смотреть фото виндовс повер шелл что это за программа. Смотреть картинку виндовс повер шелл что это за программа. Картинка про виндовс повер шелл что это за программа. Фото виндовс повер шелл что это за программа

Для поиска командлета по существительному необходимо использовать параметр Noun. Например, ниже мы получили список командлетов, которые работают со службами.

виндовс повер шелл что это за программа. Смотреть фото виндовс повер шелл что это за программа. Смотреть картинку виндовс повер шелл что это за программа. Картинка про виндовс повер шелл что это за программа. Фото виндовс повер шелл что это за программа

Если Вы не нашли нужный командлет по полному названию можете использовать маску в формате *Текст*.

Конвейер в PowerShell

Одной из главных возможностей Windows PowerShell является возможность использования конвейера при выполнении команд.

Конвейер – это передача результата работы командлета через вертикальную черту (|) другому командлету.

При этом, как Вы помните, в PowerShell командлеты работают с объектами и возвращают объекты, соответственно по конвейеру передаются также объекты.

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

Например, давайте узнаем название самого большого файла в каталоге «C:\Windows\System32» (простой пример конвейера).

виндовс повер шелл что это за программа. Смотреть фото виндовс повер шелл что это за программа. Смотреть картинку виндовс повер шелл что это за программа. Картинка про виндовс повер шелл что это за программа. Фото виндовс повер шелл что это за программа

Все командлеты отделены друг от друга вертикальной чертой. Результат работы каждого командлета передается на вход другому командлету, т.е. сначала мы получаем все объекты в указанном каталоге, затем сортируем полученный результат и в заключение выбираем самый первый объект.

Фоновое исполнение заданий

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

Всеми заданиями, которые запущенны в фоновом режиме, Вы можете управлять, например, посмотреть список заданий, остановить работу задания, удалить задание, и, конечно же, посмотреть результат работы задания.

В Windows PowerShell для работы с фоновыми заданиями есть следующие командлеты:

Для запуска в фоновом режиме необходимо написать команду Start-Job, а в фигурных скобках <> команду или набор команд, которые необходимо выполнить в фоновом режиме.

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

Запуск задачи в фоновом режиме

Смотрим на список задач запущенных в фоновом режиме

Отображаем результат работы задания Job1

виндовс повер шелл что это за программа. Смотреть фото виндовс повер шелл что это за программа. Смотреть картинку виндовс повер шелл что это за программа. Картинка про виндовс повер шелл что это за программа. Фото виндовс повер шелл что это за программа

Как видим, у нас появилась задача со статусом «Completed», т.е. она уже выполнилась (просто Get-Service отрабатывает быстро).

Для того чтобы посмотреть результат работы фоновой задачи, т.е. командлета Get-Service, мы выполнили команду Receive-Job и передали ей имя задания (можно и значение идентификатора). В результате у нас отобразился список служб.

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

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

Существует несколько способов удаленного управления:

Например, чтобы подключиться к удаленному компьютеру (в примере ниже ServerName) интерактивным сеансом выполните следующую команду:

Сценарии, функции и модули в Windows PowerShell

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

Затем, для того чтобы выполнить этот сценарий, Вы просто запускаете его в оболочке PowerShell. При этом Вам необходимо либо указать полный путь к файлу сценария, либо перейти в каталог со сценарием и вызвать его по имени.

Важно!

По умолчанию выполнение сценариев в Windows запрещено! Для того чтобы посмотреть политику выполнения сценариев выполните командлет Get-ExecutionPolicy. В результате он вернет действующую политику, например:

Для разрешения выполнения сценариев необходимо использовать командлет Set-ExecutionPolicy с одним из вышеперечисленных параметров.

Например, для разрешения выполнения локальных сценариев выполним следующую команду, и согласимся с внесением изменений, нажав Y.

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

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

Это еще не все, этот файл необходимо поместить в каталог, в котором PowerShell ищет модули. Таких каталогов несколько (специальный каталог в профиле пользователя, каталог, где установлен PowerShell), их можно посмотреть в переменных окружения PowerShell. Для этого выполните следующую команду

После того как Вы поместите написанный Вами модуль в специальный каталог, Вы сможете обращаться к своим функциям как к обычным командам PowerShell.

Интегрированная среда сценариев Windows PowerShell (ISE)

Для того чтобы было удобно писать сценарии, функции и соответственно модули, компания Microsoft разработала специальную графическую программу Integrated Scripting Environment.

Integrated Scripting Environment (ISE) – интегрированная среда сценариев.

Работать в этой программе очень удобно, к тому же она имеет мощный функционал (создание множества вкладок со сценариями, область вывода, встроенный отладчик и другое).

Запустить ее можно следующим образом:

Примечание! ISE не будет работать на системе Windows Server, установленной в варианте Server Core.

Скриншот интегрированной среды сценариев PowerShell (ISE) в Windows Server 2016

виндовс повер шелл что это за программа. Смотреть фото виндовс повер шелл что это за программа. Смотреть картинку виндовс повер шелл что это за программа. Картинка про виндовс повер шелл что это за программа. Фото виндовс повер шелл что это за программа

На этом у меня все, надеюсь, материал был Вам полезен! Удачи!

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *