для чего можно использовать powershell

Что такое powershell Windows: возможности

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

Почему появился Windows powershell? Пока не было powershell были другие инструменты для автоматизации и администрирования сервисов.

Это командная строка Windows, также Windows Script Host. Однако новый инструмент появился из-за того, что у существующих технологий были свои минусы.

Powershell Windows: возможности

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

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

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

Использование технологии Windows Script Host дает возможность пользователю выполнять административные задачи, которые выполняет командная строка, и автоматизировать их с помощью написания wsh скриптов. Однако здесь можно использовать языки программирования, значит можно использовать сложную логику и алгоритмы. Так же с помощью этой технологии пользователь управляет продуктами через объектный интерфейс. То есть, Windows Script host лучше и удобнее, чем командная строка. Но не для всех пользователей она подходит, и у неё также есть свои недостатки, с точки зрения администрирования и автоматизации. Пользователь должен обладать знаниями языков программирования, что для некоторых системных администраторов является сложностью. Администраторы хотят использовать простой инструмент администрирования, чтобы можно было выполнять действия, и не углубляться в объекты и модели программных продуктов на языках программирования.

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

Подробности о софте

Что такое Windows powershell

для чего можно использовать powershell

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

Powershell работает на основе среды crl и платформы framework. Основное отличие от командной строки, это то, что Windows powershell работает с объектами, командная строка с текстом. У объектов в powershell есть свои свойства и методы, с помощью них происходит управление объектами. Была разработана концепция командлетов, это такая система именования команд «глагол-существительное». Благодаря этой системе администраторы могут быстро упростить свою работу с powershell.

Благодаря Windows powershell системные администраторы имеют возможность:

— иметь доступ к файловой системе

— Управлять реестром и службами

— Управлять процессами, производить настройки операционной системы

-ставить нужное программное обеспечение

— Присваивать роли и компоненты сервера

— можно писать сценарий для автоматизации управления

— также администратор выполняет различные другие задачи.

В Windows powershell есть утилиты и команды, которые администраторы используют наиболее часто, ранее которые запускались из командной строки, например, ipconfig, ping. Это нужно для облегчения процесса перехода пользователей от командной строки powershell.

Ещё для удобства пользователей наиболее частые команды и утилиты имеют синонимы.

Для того чтобы было проще найти команду в powershell, там есть командлет Get-command, благодаря ему пользователи проводят поиск, как глаголу, так и по существительному. Команды сгруппированы между собой в модули, это также помогает быстро и легко найти нужную команду.

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

Справки в Windows powershell есть разных параметров, то есть пользователь может просмотреть краткую справку, детальную и полную.

А с помощью команды апдейт Help можно обновить справку.

Какие есть версии Windows powershell

Первая версия powershell появилась в 2006 году, это был отдельный дистрибутив, который устанавливался и на следующих версиях операционных систем. Уже в Windows Server 2008 powershell был в виде компонента, который нужно было установить.

С появлением операционной системы Windows 7 и Windows Server 2008 r2, powershell присутствует уже как неотъемлемый компонент системы, это значит, что его не нужно устанавливать.

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

Язык powershell является объектно-ориентированным скрипт-языком программирования. Пользователи используют его для того, чтобы писать команды управления различными компонентами Windows в оболочке Windows powershell. Также его можно использовать для написания сценариев по автоматизации задач администрирования.

Язык powershell в целом можно назвать полноценным скриптом языком программирования, потому что у него есть программные конструкции, свойственные языкам программирования, это условия, цикл, обработка ошибок, переменные, объекты и массивы. У языка программирования powershell единый синтаксис написания команд, и единая структура именования команд по принципу глагол существительное. Для пользователей это позволяет использовать этот язык как интуитивно понятный.

Оболочка Windows powershell

Оболочка это среда выполнения команд и сценариев на языке powershell. У этой оболочки такие же возможности, как у командной строки. Это хранение истории выполнения команд, возможность настройки внешнего вида, окончание выполнения команд с помощью клавиш ctrl+c, и другие возможности, отличные от командной строки. Пользователям нравится возможность подсветки синтаксиса, которая появилась в последней версии powershell.

Запустить оболочку powershell можно из командной строки, набрав команду powershell. Также можно воспользоваться диалоговым окном «выполнить» и набрав там powershell. Если пользователь использует Windows7, то нужно зайти в Пуск, далее все программы, далее стандартные и выбрать Windows powershell и ещё раз Windows powershell. В Windows 10 нужно зайти в Пуск, далее все программы и выбрать каталог Windows powershell.

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

Командлет называется команда в Windows powershell, используя которую можно выполнить взаимодействие с операционной системой, чтобы управлять её объектами. Команды это часть языка powershell. Командлеты работают по принципу «глагол существительное», между ними должен стоять дефис. То есть в начале указывается что делать, а потом через дефис указывается над чем выполняется действие.

для чего можно использовать powershell

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

Get — добавление данных

Add — добавление данных

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

Механизм фонового исполнения заданий

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

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

Источник

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

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

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

для чего можно использовать powershell

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

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

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

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

для чего можно использовать powershell

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

для чего можно использовать powershell

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

для чего можно использовать powershell

Командлеты

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

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

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

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

для чего можно использовать powershell

Справка в 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

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

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

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

для чего можно использовать powershell

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

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

Конвейеры

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

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

для чего можно использовать 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 и в фигурных скобках указываем команду или набор команд:

для чего можно использовать powershell

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

для чего можно использовать powershell

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

для чего можно использовать powershell

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

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

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

Версии PowerShell

для чего можно использовать powershell

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

для чего можно использовать powershell

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

Итоги

Источник

Основы Windows PowerShell

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

для чего можно использовать 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?

для чего можно использовать 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

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

для чего можно использовать powershell

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

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

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

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

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

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

для чего можно использовать powershell

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

для чего можно использовать powershell

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

Конвейер в PowerShell

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

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

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

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

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

для чего можно использовать powershell

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

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

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

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

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

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

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

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

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

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

для чего можно использовать powershell

Как видим, у нас появилась задача со статусом «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

для чего можно использовать powershell

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

Источник


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

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