PowerShell - это язык сценариев, который поможет вам просто и надежно автоматизировать компьютерные задачи. Узнайте, как его использовать, чтобы начать создавать сценарии для своего ПК с Windows.
Обзор сценариев PowerShell
Чтобы начать создавать простые сценарии PowerShell на Windows, вам нужно знать о трех вещах:
- Cmdlets : однофункциональные команды.
- Параметры: указывают, что, когда, где и как делать в Cmdlets/командах.
- Конвейер: берет вывод Cmdlet и его параметры и соединяет его с другими Cmdlets и функциями.
Комбинируя все три компонента, вы можете создавать простые сценарии для автоматизации задач.
Вот пример конвейера, показывающий, как можно объединить несколько Cmdlet для выполнения задачи:
Чтобы запустить этот конвейер в 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 получит список всех активных процессов в вашей операционной системе:
Но что, если вы хотите получить только определенный процесс? Это можно сделать с помощью параметров. Например, чтобы получить все процессы Slack, вы можете использовать параметр Name в команде Get-Process Cmdlet:
Вы увидите только процессы с именем "slack":
Каждый Cmdlet принимает различные типы параметров. Используйте команду Get-Help для просмотра принимаемых параметров Cmdlet в разделе SYNTAX.
Вы увидите список всех возможных способов запуска данного Cmdlet:
В данном случае команда Get-Process принимает такие параметры, как Name , Id , ComputerName , Module , FileVersionInfo , и другие общие параметры. Символы здесь обозначают:
Параметры, принимающие входные данные, указывают тип данных, которые они требуют, например строку, целое число, булеву или DateTime. Например, это:
означает, что параметр Name принимает одно или несколько строковых значений, а this:
означает, что параметр Id принимает одно или несколько целочисленных значений.
В предыдущем примере Get-Process для сужения списка результатов использовался параметр Name. Однако если вы хотите сузить список до еще более конкретного процесса, вы можете использовать параметр ID, который требует целого числа, как указано в его синтаксисе.
Тогда в списке будет только один процесс:
Создание трубопровода
PowerShell рассматривает все данные как объекты. Для создания сценария эти объекты проходят через серию командлетов или функций, соединенных символом трубы ( | ). Выбор правильных командлетов и их соединение в логической последовательности с помощью трубопровода имеет решающее значение для создания эффективного сценария.
Допустим, вы создаете сценарий для сортировки и отображения пяти файлов, занимающих больше всего места в папке. Есть более надежные способы создания сценария сортировки файловно следующий однострочный вариант прост для понимания:
Чтобы сделать это в PowerShell, используйте конвейер, который выглядит примерно так:
Сохранение конвейера как сценария PS1
Теперь, когда у нас есть рабочий конвейер, вы можете сохранить его как файл сценария PS1, чтобы не набирать его каждый раз, когда вы его используете.
Самый простой способ создать файл PS1 - это вставить сценарий в Блокнот и сохранить файл с расширением .ps1.
Создав файл PS1, вы можете использовать его в PowerShell, запустив команду ./ScriptName.ps1 :
Поздравляем! Теперь вы можете создавать сценарии PowerShell PS1.
PowerShell также доступна в Linux и macOS
PowerShell - один из лучших скриптовых языков для начинающих. Хотя раньше PowerShell был ограничен только Windows, обновленная версия PowerShell теперь доступна также на macOS и многих дистрибутивах Linux! Это делает PowerShell еще более привлекательным, поскольку вы можете перенести свои знания с Windows на другие операционные системы.
Если тебе понравилась статья - подпишись на канал, чтобы не пропустить ещё много полезных статей!
Также ты можешь читать меня здесь:
- Телеграм: https://t.me/gergenshin
- Яндекс Дзен: https://dzen.ru/gergen
- Официальный сайт: https://www-genshin.ru