- Для чего нужен Windows PowerShell – как его использовать
- Что такое Windows PowerShell
- Как запустить Windows PowerShell
- Как взаимодействовать с Windows PowerShell
- Что такое Windows PowerShell ISE
- Руководство по Windows PowerShell для начинающих
- Руководство по Windows PowerShell для начинающих
- Написание и запуск скриптов
- Командлеты
- Параметры
- Назначение компонента Windows Power Shell
- Что такое Power Shell
- Функционал инструмента администрирования
- Как разобраться в программе
- Что такое Windows PowerShell и для чего он нужен
Для чего нужен Windows PowerShell – как его использовать
Чтобы понять, что такое Windows PowerShell, мы должны сначала объяснить, что такое оболочка. Оболочка или интерпретатор команд – это программа, которая позволяет взаимодействовать с операционной системой через терминал и в командной строке. Используя оболочку можно давать команды системе и открывать программы.
Windows PowerShell – это усовершенствованная оболочка, интегрированная во все операционные системы Microsoft, начиная с Windows 7. Она включает в себя интерактивные подсказки и среду сценариев, которую можно использовать по отдельности или в комбинации.
Что такое Windows PowerShell
Как следует из названия, Windows PowerShell – это оболочка командной строки. Она была разработана специально для использования системными администраторами и может использоваться для выполнения всех команд cmd.exe.
PowerShell позволяет вам взаимодействовать с операционной системой, используя преимущества инструментов, доступных из командной строки, и используя возможности программирования сценариев для автоматизации рутинной работы.
Давайте подробно рассмотрим, какие функции и преимущества предлагает эта оболочка от Microsoft:
- Интеграция с Microsoft .NET Framework. NET Framework – это среда управляемого выполнения для Windows, предоставляющая широкий спектр сервисов для запуска приложений. Команды сценариев PowerShell имеют доступ к ресурсам .NET Framework.
- Объектно-ориентированный. В отличие от большинства оболочек, которые принимают и возвращают чистый текст, все команды PowerShell, генерирующие выходные данные, возвращают объекты .NET Framework, устраняя необходимость разбора текста в случае, если выходные данные команды нужны для последующей команды.
- Command-Let. Windows PowerShell представляет концепцию command-let или cmdlet, инструмента командной строки с единственной функцией, встроенной в оболочку. Доступно более ста системных командлетов. Кроме того, вы можете писать собственные командлеты и делиться ими с другими пользователями. Каждый командлет может использоваться отдельно или в сочетании с другими для выполнения сложных задач.
- Предназначен для системных администраторов. PowerShell включает функции, предназначенные для системных администраторов, такие как возможность работы на удаленных компьютерах, доступ к реестру Windows и запуск или остановка служб.
Как запустить Windows PowerShell
После объяснения, что такое Windows PowerShell, давайте посмотрим, как его запустить.
- Нажимаем на клавиатуре компьютера клавиши Win (это клавиша с логотипом Windows) и R одновременно. Откроется командное окно «Выполнить».
- В поле Открыть: введите powershell и нажмите кнопку ОК .
Более современный способ – доступный в Windows 10 – щелкнуть правой кнопкой мыши по меню «Пуск» и выбрать соответствующий пункт из меню «Опытного пользователя»
Как взаимодействовать с Windows PowerShell
Все команды, доступные в командной строке Windows, доступны и могут также использоваться в PowerShell.
Мы можем использовать символы направления > для отправки вывода в файл или >> для добавления в файл. PowerShell использует псевдонимы для связи команд cmd.exe со своими командлетами. Например, команда cd является псевдонимом для командлета set-location, точно так же, как dir является псевдонимом для командлета get-children.
PowerShell можно использовать для запуска исполняемых команд или для работы непосредственно с реестром Windows без запуска его редактора.
Одна из сильных сторон этой оболочки – её командлеты. Каждый командлет представлен «глаголом», за которым следует тире и существительное.
Чтобы просмотреть полный список всех доступных командлетов, введите get-command. Чтобы получить информацию о конкретном командлете, введите get-help и имя командлета.
Оператор вертикальной черты | , позволяет отправить выходные данные одного командлета другому командлету, который, в свою очередь, будет использовать их в качестве входных данных. Используя его, мы можем подключить все необходимые командлеты, очевидно, при условии, что следующий командлет сможет интерпретировать выходные данные предыдущего.
Как мы объясняли ранее, командлеты возвращают чистые объекты .NET, а не текст. По этой причине командлет, расположенный справа от оператора | , может работать непосредственно со свойствами или методами вывода, созданного предыдущим командлетом.
Что такое Windows PowerShell ISE
Windows PowerShell ISE (интегрированная среда сценариев) – это приложение, появившееся в PowerShell 2.0. Она позволяет запускать команды и писать, тестировать и отлаживать сценарии в едином графическом интерфейсе пользователя на базе Windows.
Этот ISE включает командную панель, одну для сценариев и одну для вывода. Панель вывода отображает результаты команд, запущенных в двух других панелях. Кроме того, графическое окружение можно изменить, выбрав расположение блоков.
PowerShell ISE поддерживает многострочное редактирование, окрашивание синтаксиса, завершение с помощью клавиши TAB и выборочное выполнение и использует собственный профиль, отличный от того, который используется для настройки PowerShell.
Руководство по Windows PowerShell для начинающих
Руководство по Windows PowerShell для начинающих
В этой статье про PowerShell для начинающих мы посмотрим, как писать скрипты, которые помогают оптимизировать управление Windows-окружением.
PowerShell — это объектно-ориентированный программный движок и скриптовый язык с интерфейсом командной строки, предоставляющий широкие возможности для конфигурирования операционных систем семейства MS Windows. Он предлагает как чисто консольный интерфейс, так и полноценную среду разработки PowerShell ISE (Integrated Scripting Environment, встроенное скриптовое окружение) для скриптов.
Для запуска интерфейса командной строки введите powershell в меню «Выполнить» (WinKey + R). PowerShell ISE запускается с помощью команды «PowerShell ISE» в том же меню. ISE более предпочтительно, так как предоставляет более широкие возможности разработчику благодаря подсветке синтаксиса, функции автозаполнения кода и другим особенностям, присущим многим «большим» IDE.
Среда разработки Windows PowerShell ISE
Написание и запуск скриптов
Скрипты сохраняются в виде файлов с расширением .ps1 . Несмотря на то, что PowerShell уже давно является нативной частью ОС Windows, вы не сможете запустить его скрипты простым двойным щелчком. Для этого надо кликнуть правой кнопкой по скрипту и выбрать «Запустить в PowerShell».
Также существуют системные политики, ограничивающие выполнение скриптов. Можно проверить текущие параметры политики, введя команду Get-ExecutionPolicy . Результатом будет одно из следующих значений:
- Restricted — выполнение скриптов запрещено. Стандартная конфигурация;
- AllSigned — можно запускать скрипты, подписанные доверенным разработчиком; перед запуском скрипта PowerShell запросит у вас подтверждение;
- RemoteSigned — можно запускать собственные скрипты или те, что подписаны доверенным разработчиком;
- Unrestricted — можно запускать любые скрипты.
Для начала работы необходимо изменить настройку политики запуска на RemoteSigned, используя команду Set-ExecutionPolicy :
После выполнения команды можно будет запускать свои скрипты
Командлеты
Командлеты — это команды с предопределённой функцией, подобные условным операторам в языках программирования. У них есть несколько ключевых особенностей:
- существуют системные, пользовательские и опциональные командлеты;
- результатом выполнения командлета будет объект или массив объектов;
- командлеты могут обрабатывать данные и передавать их другим командлетам с помощью конвейеров;
- командлеты нечувствительны к регистру, так что нет никакой разницы между Get-ADUser , get-aduser и gEt-AdUsEr ;
- в качестве разделителя используется символ ; .
Каждый командлет содержит в себе глагол и существительное, разделяемые дефисом. Например:
- Get-Process — отобразить текущие процессы, запущенные на компьютере;
- Get-Service — отобразить список служб и их статус;
- Get-Content — отобразить содержимое указанного файла, например Get-Content C:\Windows\System32\drivers\etc\hosts .
При необходимости список всех доступных командлетов можно вывести с помощью Get-Help-Category. Запомните эту команду — она крайне важна для тех, кто изучает PowerShell с нуля, так как помогает быстрее начать ориентироваться в его возможностях.
Результат выполнения команды Get-Help-Category
Также можно создавать свои командлеты, но эта тема выходит за рамки нашего руководства по PowerShell для начинающих.
Параметры
У каждого командлета есть несколько параметров, определяющих его работу. PowerShell ISE автоматически предлагает все доступные параметры с отображением их типа. Например, Get-Service-NameW* выводит список служб, у которых имя начинается с W . Если вы забыли, какие параметры у введённого командлета, воспользуйтесь Get-Member .
Назначение компонента Windows Power Shell
Пользователи, находящиеся в процессе изучения начального экрана Windows 8.1 или Windows 7, нередко запускают в работу совсем незнакомые им приложения. Одним из таковых является Power Shell – продукт от компании Microsoft.
Что такое Power Shell
Если кто-то упорно трудился над написанием кода продукта, значит, он кому-то нужен, для кого-то предназначен. Скорее всего, обычный пользователь сможет извлечь минимальную пользу от наличия этого софта, а вот для системного администратора данная программа – отличный помощник.
Power Shell – это современная стандартизированная оболочка командной строки, открывающая доступ к более гибкому управлению компьютером, функционирующим на базе Windows. По сути – та же командная строка, но возможности гораздо шире.
Функционал инструмента администрирования
Функционал софта внушителен. С его помощью можно управлять службами, аккаунтами, хранилищами файлов, процессами и даже серверами. Оболочка открывает доступ к работе с объектами COM, NET, XML, запуску внешних команд, созданию и выполнению собственных сценариев, проделыванию иных операций.
Оболочка Power Shell имеет собственный набор команд, как и консоль CMD, называемых командлетами. Синтаксис языка, определения командлетов и их параметров в этой программе отличается от привычного, хотя утилита способна распознавать многие команды CMD.
Прекрасно понимаемые Power Shell команды вроде cd, dir, copy и им подобные в этой оболочке являются псевдонимами или, как принято говорить, алиасами, служащими просто для удобства. Пример: команда dir, вводимая пользователем с целью просмотра файловой системы, соответствует командлету Get-ChildItem.
Как разобраться в программе
Человеку, незнакомому с основами командной строки, постигнуть тонкости работы с утилитой будет непросто. К сожалению, простых и понятных справочников по данной теме немного.
Решаясь начать изучение скриптового языка Power Shell, целесообразно ознакомиться с руководством, созданным Франком Кохом, или обратиться к справочной системе самой программы. Последняя является довольно мощной, с большим количеством конкретных примеров. Основная информация здесь откроется для просмотра после ввода командлета Get-Help.
Список всех доступных команд выводит командлет Get-Command. Связка get-help-командлет применяется с целью получения справки по конкретному алиасу. Пример: справка по использованию get-process (отвечает за вывод списка текущих процессов) будет выведена командой get-help-process. Передав ей параметры -example, -detailed, -online или –full, пользователь сможет получить сведенья обо всех его нюансах подробно.
Что такое Windows PowerShell и для чего он нужен
И зучая меню пуск Windows 7 или начальный экран Windows 8 1, начинающие пользователи нередко открывают для себя приложения, назначение которых им не понятно. Как раз одно из таких приложений — PowerShell. Что же такое этот самый PowerShell и есть ли от него хоть какой-то толк? Ну, раз его кто-то придумал и интегрировал в Windows, значит, толк всё-таки есть. Кстати, этим самым придумавшим PowerShell является компания Microsoft.
Итак, PowerShell. Предназначается это приложение, прежде всего для системных администраторов, а вот простые пользователи, тем более начинающие, пользы из него для себя почти никакой не извлекут. Представляет собой PowerShell современную стандартизированную оболочку командной строки, обеспечивающую большую гибкость управления компьютером на базе операционной системы Windows. По сути, PowerShell — это та же командная строка, но только намного более функциональная.
Что умеет этот инструмент администрирования? Много чего. С его помощью системные администраторы и опытные пользователи могут управлять процессами, службами, файловыми хранилищами, аккаунтами и даже серверами. Также оболочка позволяет запускать внешние команды, работать с объектами .NET, COM и XML, проделывать разные трюки и т.п., создавать и выполнять собственные сценарии. Кстати, для написания скриптов в Windows предусмотрена специальная графическая консоль ISE, являющаяся своего рода дополнением к основной оболочке PowerShell.
Как и консоль CMD, оболочка PowerShell имеет свой набор команд, именуемых командлетами. Утилита распознает многие из команд CMD, но в целом синтаксис языка, определения командлетов и их параметров отличаются от того, что пользователи привыкли видеть в обычной командной строке. Кроме того, знакомые команды вроде dir, cd, copy и т.п., прекрасно понимаемые PowerShell, на самом деле являются псевдонимами. Например, команда Dir, служащая для просмотра файловой системы соответствует «родному» командлету Get-ChildItem. Псевдонимы или как принято говорить, алиасы, служат чисто для удобства.
Разобраться с PowerShell начинающему пользователю, особенно если тот незнаком хотя бы с основами обычной командной строки, будет непросто. А руководств и справочников, достаточно понятных и простых для усвоения, не так уж и много. Есть неплохое руководство, написанное Франком Кохом, с которым мы рекомендуем ознакомиться, если вы всё же решитесь приступить к изучению скриптового языка PowerShell. Ну, и конечно, собственная справочная системы оболочки.
Она мощная и развёрнутая, с множеством конкретных примеров. Пользоваться ей достаточно просто. Основная информация по справочной системы выводится командлетом Get-Help. Командлет Get-Command выводит список всех доступных команд.
Для получения справки по конкретному командлету или алиасу используется связка get-help командлет. Например, команда get-help get-process выведет основную справку по использованию командлета get-process, отвечающего за вывод списка текущих процессов. Передав же ей параметры –detailed, -examples, -full или –online, можно будет получить самые подробные сведения обо всех его нюансах.