PowerShell – это инструмент командной строки, разработанный Microsoft для автоматизации общих административных задач. Сценарий – это набор команд PowerShell, сохраненных в текстовом файле с расширением *.ps1. При выполнении сценария PowerShell интерпретатор читает файл и выполняет команды последовательно.
Вы можете создать сценарий PowerShell с помощью любого текстового редактора (даже NotePad). Но желательно использовать редактор сценариев PowerShell. Включенный по умолчанию редактор в Windows – Интегрированная среда сценариев PowerShell (PowerShell ISE). Он включает полезные функции, такие как цветовое кодирование, автозавершение кода, проверка синтаксиса, отладка, автосохранение, защита от сбоев и т. д.
Microsoft выпустила бесплатный кросс-платформенный редактор кода под названием Visual Studio Code (VS Code), который доступен для Windows, Linux и macOS. Он поддерживает различные языки программирования через расширения, которые можно установить, включая PowerShell.
Одним из преимуществ Visual Studio Code является то, что он поддерживает самые последние версии PowerShell, в то время как PowerShell ISE поддерживает только версию PowerShell до 5.1.
Как запустить скрипт PowerShell (краткое руководство)
Вот краткое руководство о том, как запустить скрипт PowerShell. Следующий метод подходит для скриптов PowerShell, которые не имеют обязательных параметров и не возвращают вывод в командную строку.
- Щелкните правой кнопкой мыши по скрипту PowerShell в Проводнике.
- Выберите Запуск с помощью PowerShell из контекстного меню.
- Скрипт будет запущен с политикой выполнения Bypass. Политика выполнения для компьютера или пользователя не изменяется.
Для получения дополнительной информации о написании и запуске скриптов PowerShell продолжайте чтение!
Как создавать скрипты PowerShell
Есть несколько способов создания скриптов PowerShell:
- С помощью кросс-платформенного редактора кода Visual Studio Code
- С помощью PowerShell ISE
- Любым другим текстовым редактором, т. е. NotePad
Создание сценариев PowerShell с помощью Visual Studio Code
Visual Studio Code не предустановлен на Windows, поэтому его нужно загрузить с сайта Visual Studio. В нашем случае мы должны загрузить версию для Windows, доступную для 64-разрядных, 32-разрядных и ARM-систем.
Вот различные шаги, которые нужно выполнить после установки приложения. Сначала вам нужно открыть Visual Studio Code из меню “Пуск”.

Установка расширения PowerShell
Откройте меню расширений, нажав на значок расширения, показанный на рисунке ниже, или используйте комбинацию клавиш Ctrl + Shift + X.

Введите powershell в поле поиска, выберите наиболее загружаемый вариант, как показано ниже, чтобы убедиться, что вы загружаете расширение, предоставленное Microsoft. Затем нажмите Установить.

Когда установка завершится, вы не увидите никакого подтверждения. Однако вы увидите, что кнопка Установить заменена на варианты Отключить и Удалить.

Как создать сценарий PowerShell с помощью Visual Studio Code
Чтобы создать новый сценарий PowerShell, перейдите в меню Файл > Новый файл, или используйте комбинацию клавиш Ctrl + N.

Чтобы указать, что новый файл является сценарием PowerShell, щелкните Plain Text в нижнем левом углу или Select a Language в области сценария. В любом случае вы перейдете к окну Select a Language Mode. Введите powershell, а затем выберите PowerShell.

Это активирует расширение PowerShell, и вы увидите изменение поведения и функциональности. Во-первых, вы заметите, что значок рядом с именем файла изменится на PowerShell. Кроме того, вы заметите, что начнется консоль PowerShell, где вы сможете выполнять команды и сценарии PowerShell.

Тот же результат можно достичь, сохраняя файл с расширением *.ps1.
Введите следующие команды в области сценария, и вы оцените преимущества, такие как цветовая кодировка, автозаполнение команд и подсказки синтаксиса в действии:
Write-Host "This is a Visual Studio Code script" Write-Host "Writing PowerShell Scripts is fun!"

Примечание: Третья строка предназначена только для демонстрации опции автозаполнения команд.
Чтобы сохранить файл, можно использовать меню File > Save. Можно также воспользоваться комбинацией клавиш Ctrl + S.
Затем выберите удобное местоположение, укажите имя файла, обязательно укажите *.ps1 в качестве расширения файла и нажмите Save. В данном примере я сохраняю файл в C:\TEMP\MyVSCodeScript.ps1.

Выполнение сценариев в VS Code будет рассмотрено позже в статье.
Создание сценариев с помощью Windows PowerShell ISE
Для запуска PowerShell ISE нажмите кнопку “Пуск” (или кнопку “Поиск”) и начните вводить “PowerShell ISE”. Вы увидите приложение в результатах поиска с различными вариантами открытия. Всегда рекомендуется использовать Запуск от имени администратора, чтобы убедиться, что все команды будут выполнены правильно и не будут заблокированы.

Итак, давайте создадим скрипт в PowerShell ISE. Введите следующие строки, и снова вы можете заметить удобные функции, такие как цветовое кодирование, автозавершение команд, подсказки синтаксиса и т. д.:
Write-Host "This is a PowerShell ISE script" Write-Host "Writing PowerShell Scripts is fun!"

Примечание: Третья строка предназначена только для демонстрации, чтобы показать опцию автозавершения команды.
Теперь сохраним список команд в виде скрипта PowerShell. Для этого нажмите на значок дискеты на панели инструментов, затем нажмите на Файл > Сохранить в меню файла. Вы также можете использовать сочетание клавиш Ctrl + S.
В диалоговом окне Сохранить как выберите папку, укажите имя файла, укажите расширение *.ps1 и нажмите Сохранить. В этом примере я указываю следующее имя: C:\TEMP\MyPowerShellISEScript.ps1.

Создание скриптов с помощью NotePad
Не рекомендуется использовать базовый текстовый редактор для написания скриптов PowerShell, но это возможно. Возьмем пример с NotePad
- Откройте NotePad и введите следующие команды:
Write-Host "This is a Notepad script" Write-Host "Writing PowerShell Scripts is fun!

- Чтобы сохранить скрипт, выберите Файл > Сохранить.
- В диалоговом окне Сохранить как выберите папку и укажите имя файла с расширением *.ps1. В этом примере я использую: C:\TEMP\MyNotepadScript.ps1.
Как запускать скрипты PowerShell
A PowerShell script (*.ps1 file) can be run in the PowerShell console, which recognizes the *.ps1 file type and runs the commands sequentially. You may open the script as a file in code editors like the PowerShell ISE and Visual Studio Code, and run the whole script in the console pane or run only a part of it.
Как включить запуск скриптов PowerShell, изменив политику выполнения
Политики выполнения PowerShell являются средством безопасности, которое контролирует условия, при которых PowerShell загружает файлы конфигурации и выполняет скрипты. Следует отметить, что это не система безопасности, так как политики выполнения могут быть легко обходны. Однако они помогают защитить пользователей от непреднамеренного выполнения скриптов.
Значение политики выполнения по умолчанию для Windows 11 – Ограниченная. Для операционных систем, не являющихся Windows, значение по умолчанию – Без ограничений, и его нельзя изменить.
Чтобы просмотреть текущую политику выполнения, используйте команду PowerShell Get-ExecutionPolicy.
Вы можете изменить политику выполнения на Windows, используя Set-ExecutionPolicy команду:
Set-ExecutionPolicy -ExecutionPolicy <PolicyName>
Различные политики выполнения будут рассмотрены в следующем разделе.
Изменение политики выполнения PowerShell
На Windows вы можете установить политику выполнения для локального компьютера, текущего пользователя или процесса PowerShell.
Для вывода списка всех доступных областей действия используйте команду Get-ExecutionPolicy -List.
Get-ExecutionPolicy -List
Порядок имеет значение, поэтому наивысший настроенный элемент имеет приоритет. Например, если вы установили политику исполнения с помощью групповой политики, она будет иметь приоритет над другими.

Policy | Description |
Restricted | The default execution policy for Windows client OSes. It does not allow ANY scripts (*.ps1 files) to be executed. Still, you may run individual commands. |
RemoteSigned | The default execution policy for Windows Server. It Allows running scripts that are created locally. Scripts downloaded from untrusted locations, like the Internet, e-mail, messengers, etc. must be digitally signed by a trusted publisher. You may use the command Unblock-File to allow a script to run on the system. |
Unrestricted | The default execution policy for non-Windows computers, and it cannot be changed. It allows unsigned scripts to run, but it shows a warning message and asks for confirmation if scripts are coming from an untrusted location. |
AllSigned | It requires all scripts running on the machine to be digitally signed by a trusted publisher, no matter if they are created locally on the machine or downloaded from the Internet. |
Bypass | It allows all scripts to run, like Unrestricted, but no confirmation is required. |
Undefined | There is no execution policy set on the specified scope. If all scopes are set as undefined, then the default execution policies are applied. |
Чтобы разрешить запуск скриптов PowerShell, вам нужно использовать команду Set-ExecutionPolicy -ExecutionPolicy <PolicyName>.
Set-ExecutionPolicy -ExecutionPolicy <PolicyName>
По умолчанию эта команда применяет выбранную вами политику к области Локального компьютера. Если вы хотите указать другую область, вам необходимо использовать параметр -Scope и указать имя области.
Например, следующая команда устанавливает политику исполнения как Unrestricted для текущего пользователя:
Set-ExecutionPolicy -ExecutionPolicy Unrestricted -Scope CurrentUser
Запуск скрипта в PowerShell
Чтобы открыть консоль PowerShell, нажмите кнопку Пуск (или кнопку поиска), введите powershell и нажмите Запуск от имени администратора.

Чтобы запустить скрипт в консоли PowerShell, вы можете:
- Использовать полный путь к скрипту, например: C:\TEMP\MyNotepadScript.ps1
- Или использовать только имя скрипта, из папки, где находится файл: .\MyNotepadScript.ps1
Запуск скрипта PowerShell в Visual Studio Code
Чтобы запустить скрипт в Visual Studio Code, вам сначала нужно запустить приложение и открыть созданный ранее скриптовый файл (C:\TEMP\MyVSCodeScript.ps1).
- Выберите Файл > Открыть Файл или используйте сочетание клавиш Ctrl + O.

- С загруженным скриптом в VS Code вы можете выполнить его, нажав на кнопку Выполнить в верхнем правом углу, или нажав F5 на клавиатуре.
Скрипт будет выполнен в панели консоли, где вы увидите вывод скрипта.

Еще один вариант – выполнить только часть скрипта (Выполнить выделение). Это часто бывает полезно, когда вы создаете свой скрипт и хотели бы убедиться, что части его ведут себя так, как ожидается.
- Чтобы выполнить выделение скрипта, выделите часть, которую хотите выполнить.
- Нажмите на Выполнить выделение в верхнем правом углу консоли или нажмите F8 на клавиатуре.
На этот раз VS Code выполняет только выделенные строки кода в панели консоли.

Запуск скрипта в PowerShell ISE
Запуск скриптов в PowerShell ISE довольно похож.
- Запустите PowerShell ISE.
- Откройте скрипт из предыдущего демонстрации (в данном случае – C:\TEMP\MyPowerShellISEScript.ps1) с помощью Файл > Открыть, или кнопки Открыть на панели инструментов, или сочетания клавиш Ctrl + O.
- Выберите файл скрипта и нажмите Открыть.
Чтобы выполнить весь скрипт, используйте кнопку Выполнить на панели инструментов или нажмите F5 на клавиатуре. Это выполнит файл скрипта в панели консоли, возвращая результат.

Если вам нужно выполнить только часть скрипта, выделите нужный раздел и выберите Выполнить выделение из панели инструментов или нажмите клавишу F8 на клавиатуре. Опять же, PowerShell ISE выполнит только выделенные строки кода.

Запуск скрипта PowerShell из командной строки
Если файлы *.ps1 интерпретируются PowerShell, командная строка (CMD) не может работать с скриптами PowerShell напрямую. Если вы хотите запустить скрипт PowerShell в CMD, вам нужно будет вызвать процесс PowerShell с параметром -File, как показано ниже:
PowerShell -File C:\TEMP\MyNotepadScript.ps1.
Заключение
Скрипты PowerShell – отличный способ автоматизации повторяющихся задач. Следуйте общему правилу: “Если вам нужно что-то делать более одного раза, скриптуйте это,” и вы не ошибетесь!
Связанная статья:
Source:
https://petri.com/how-to-write-and-run-a-powershell-script-file-on-windows-11/