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

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

Один из способов вызвать PowerShell — открыть окно командной строки (которое рассматривается в другом совете) и ввести «PowerShell» (без кавычек), а затем нажать Enter. Другой способ — использовать возможности поиска Windows для поиска «Windows PowerShell». Третий способ — снова выполнить поиск «Windows PowerShell» и выбрать результат поиска под названием «Windows PowerShell ISE». В последней версии Windows 10, когда вы выбираете этот элемент, вы увидите разделенный экран, где вы можете интерактивно вводить команды PowerShell в левой части экрана, а также создавать файл сценария PowerShell в левой части экрана.

Экран Windows PowerShell ISE выглядит следующим образом: (См. Рис. 1.)

image

Рисунок 1. Интегрированная среда сценариев Windows PowerShell.

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

image

Рисунок 2. PowerShell ISE.

В PowerShell вы в основном имеете дело с «командлетами». Командлеты следуют шаблону verb-noun. Например, чтобы получить справку в PowerShell, введите Get-Help и нажмите Enter. Будут другие советы по PowerShell, но если вы не можете дождаться, рекомендуется начать со следующих разделов справки:

PS> Get-Help Get-Command PS> Get-Help Get-Member PS> Get-Help Where-Object PS> Get-Help About_Object

Первая команда возвращает информацию о командлетах, а вторая — свойства и методы объекта. Третья команда фильтрует свойства объекта, а последняя команда объясняет использование объектов в PowerShell.

Сценарий PowerShell может быть немного многословным, поэтому он включает элементы, называемые псевдонимами, которые являются ярлыками для многих наиболее популярных командлетов. Например, вместо того, чтобы вводить Get-Help, вы можете просто ввести Help. Чтобы просмотреть список существующих псевдонимов, введите Get-Alias ​​в командной строке PS.

Сценарии PowerShell — это обычные текстовые файлы с расширением .ps1, которые содержат последовательность командлетов, предназначенных для выполнения определенной функции. Например, вы можете написать сценарий PowerShell, который выводит на консоль «Hello». Однако, прежде чем вы сможете запускать сценарии, вы должны сначала установить среду безопасности. Выполните следующие действия:

Вызовите командную строку Windows, указав Запуск от имени администратора

Вызовите PowerShell, набрав «PowerShell» в командной строке

В командной строке PowerShell введите Set-ExecutionPolicy RemoteSigned

Эти шаги нужно выполнить только один раз, чтобы вы могли с этого момента запускать скрипты. Теперь запустите Блокнот и введите в него следующее:

Write-Output "Hello"

Выйдите из Блокнота, назовите свой файл Hello.ps1 и убедитесь, что он сохранен в каталоге, указанном вашим сеансом PowerShell. (Имя каталога является частью приглашения PowerShell; у меня есть каталог C: \ PowerShell, в котором я храню все мои файлы .ps1.) В командной строке PowerShell введите «. \ Hello.ps1»

и вы должны увидеть, что ваш скрипт выполнен, т.е. на экране отобразится слово «Hello».

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

Еще одна вещь, к которой нужно привыкнуть, — это возможность «перенаправлять» вывод одной команды в другую. Сценарии PowerShell часто передают свои командлеты по конвейеру другим командлетам. Символ вертикальной черты — это «|» символ. Так, например, вы можете отформатировать вывод одного командлета различными способами, подключившись к одному из командлетов «форматирования». Допустим, вы хотите получить свойства файла с именем «C: \ Temp \ VmwareStatus.log». Это можно сделать с помощью командлета Get-ItemProperty следующим образом:

PS> Get-ItemProperty C: \ Temp \ VmwareStatus.log

По умолчанию свойства файла будут отображаться в виде таблицы.

Если вы хотите, чтобы свойства отображались в списке, вы можете передать вывод командлету Format-List:

PS> Get-ItemProperty C: \ Temp \ VmwareStatus.log | Список форматов

Наконец, если вы хотите вернуться в знакомую среду командной строки, просто введите «cmd» в командной строке PowerShell. Чтобы выйти из этой среды, просто введите «Выход». Чтобы выйти из PowerShell, вы также набираете «Выход».

Этот совет (13506) применим к Windows 7, 8 и 10.