Найти тему
Герман Геншин

Что такое сценарии Windows PowerShell?

Оглавление

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

Обзор сценариев PowerShell

Чтобы начать создавать простые сценарии PowerShell на Windows, вам нужно знать о трех вещах:

  • Cmdlets : однофункциональные команды.
  • Параметры: указывают, что, когда, где и как делать в Cmdlets/командах.
  • Конвейер: берет вывод Cmdlet и его параметры и соединяет его с другими Cmdlets и функциями.

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

Вот пример конвейера, показывающий, как можно объединить несколько Cmdlet для выполнения задачи:

-2

Чтобы запустить этот конвейер в PowerShell, вы должны использовать что-то вроде этой команды:

Cmdlets in Detail

Как и любой другой язык сценариев, PowerShell поставляется со встроенными командами для манипулирования объектами и выполнения различных задач. Эти фундаментальные команды в PowerShell известны как команды Cmdlets.

Cmdlets (произносится как command-lets) - это небольшие однофункциональные команды, используемые в среде PowerShell с расширением .dll. Они представляют собой легкие фрагменты кода, которые выполняются быстрее, чем функции, благодаря своей компилируемой природе.

В PowerShell доступны тысячи Cmdlets. Вам не нужно изучать их все. Вы можете начать с изучения нескольких основных команд PowerShell а затем продолжать изучать их по мере продвижения по пути создания сценариев. Чтобы просмотреть Cmdlets, которые уже установлены на вашем компьютере, выполните команду run:

Если вы просмотрите результаты, то заметите, что они следуют соглашению об именовании глаголов и существительных. Это облегчает понимание того, что делает определенный Cmdlet.

Например, Get-Command дает список команд, доступных в PowerShell. Get-Process позволяет получить информацию о процессах, активных в данный момент, а Copy-Item - скопировать один или несколько файлов в определенный каталог.

К командам также прилагается обширная документация, содержащая примеры, инструкции по использованию и объяснения их функциональности.

Чтобы узнать больше о конкретном командлете и о том, как его использовать, выполните следующие действия:

PowerShell Parameters Explained

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

Например, Get-Process получит список всех активных процессов в вашей операционной системе:

-3

Но что, если вы хотите получить только определенный процесс? Это можно сделать с помощью параметров. Например, чтобы получить все процессы Slack, вы можете использовать параметр Name в команде Get-Process Cmdlet:

Вы увидите только процессы с именем "slack":

-4

Каждый Cmdlet принимает различные типы параметров. Используйте команду Get-Help для просмотра принимаемых параметров Cmdlet в разделе SYNTAX.

Вы увидите список всех возможных способов запуска данного Cmdlet:

-5

В данном случае команда Get-Process принимает такие параметры, как Name , Id , ComputerName , Module , FileVersionInfo , и другие общие параметры. Символы здесь обозначают:

Параметры, принимающие входные данные, указывают тип данных, которые они требуют, например строку, целое число, булеву или DateTime. Например, это:

означает, что параметр Name принимает одно или несколько строковых значений, а this:

означает, что параметр Id принимает одно или несколько целочисленных значений.

В предыдущем примере Get-Process для сужения списка результатов использовался параметр Name. Однако если вы хотите сузить список до еще более конкретного процесса, вы можете использовать параметр ID, который требует целого числа, как указано в его синтаксисе.

Тогда в списке будет только один процесс:

-6

Создание трубопровода

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

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

-7

Чтобы сделать это в PowerShell, используйте конвейер, который выглядит примерно так:

Сохранение конвейера как сценария PS1

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

Самый простой способ создать файл PS1 - это вставить сценарий в Блокнот и сохранить файл с расширением .ps1.

-8

Создав файл PS1, вы можете использовать его в PowerShell, запустив команду ./ScriptName.ps1 :

-9

Поздравляем! Теперь вы можете создавать сценарии PowerShell PS1.

PowerShell также доступна в Linux и macOS

PowerShell - один из лучших скриптовых языков для начинающих. Хотя раньше PowerShell был ограничен только Windows, обновленная версия PowerShell теперь доступна также на macOS и многих дистрибутивах Linux! Это делает PowerShell еще более привлекательным, поскольку вы можете перенести свои знания с Windows на другие операционные системы.

Если тебе понравилась статья - подпишись на канал, чтобы не пропустить ещё много полезных статей!

Также ты можешь читать меня здесь: