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

Ключевые выводы

  • PowerShell — это язык сценариев, который помогает автоматизировать компьютерные задачи.
  • Командлеты — это однофункциональные команды Powershell. Вы можете просмотреть доступные команды с помощью «Get-Command».
  • PowerShell доступен в Windows, macOS и Linux.

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

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

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

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

Объединив все три, вы можете создавать простые сценарии, помогающие автоматизировать задачи.

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

Программы для Windows, мобильные приложения, игры - ВСЁ БЕСПЛАТНО, в нашем закрытом телеграмм канале - Подписывайтесь:)

Сценарий картофельных чипсов

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

Get-Object Potato | Пил-Объект | Чипы-предметы | Cook-Object DeepFry `
| Чаша Место-Объект

Подробности о командлетах

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

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

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

Команда Get

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

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

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

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

Get-Help <имя-командлета>

Объяснение параметров PowerShell

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

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

Получить командлет процесса

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

Get-Process -Name Slack

После этого вы увидите только те процессы с именем «slack»:

Использование Get-Process с параметром

Некоторые параметры являются «позиционными», что означает, что их имя не является обязательным. В этом случае Get-Process -Name Slack и Get-Process Slack делают то же самое.

Каждый командлет принимает разные типы параметров. Используйте команду Get-Help, чтобы просмотреть принятые параметры командлета в разделе СИНТАКСИС.

Get-Help Get-Process

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

Параметры синтаксиса командлета

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

Символ

Имя

Значение

Пустой

Параметр не принимает входные данные

Дефис

Указывает имя параметра

<>

Угловые скобки

Заполнитель для текста

[]

Кронштейны

Параметр, который может принимать одно или несколько значений

{}

Брекеты

Параметр принимает набор значений

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

Get-Process [[-Name] <строка[]>]

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

Get-Process -Id

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

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

Get-Process -Id 3016

После этого вы должны увидеть в списке только один процесс:

Использование параметра Id в командлете

Создание конвейера

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

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

Скрипт Sort-LargeFiles PS1

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

Get-ChildItem -Path “C:\Directory” -File | Сортировка-Длина объекта-По убыванию `
| Выбрать-Объект-Первый 5 | Формат-Имя таблицы, Длина-AutoSize

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

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

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

Создание скрипта с помощью блокнота

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

Использование скрипта PS1

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

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

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

Похожие записи

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

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

Программы для Windows, мобильные приложения, игры - ВСЁ БЕСПЛАТНО, в нашем закрытом телеграмм канале - Подписывайтесь:)