Если вы новичок в языке сценариев PowerShell и хотите научиться запускать сценарий PowerShell, то вы попали по адресу. В этом блоге будет представлен учебник, охватывающий общие способы запуска сценариев и несколько проблем, которые могут возникнуть.
Предварительные требования
Эта статья будет для вас практическим руководством по запуску PowerShell на вашем локальном компьютере. Если вы хотите следовать за нами, убедитесь, что у вас есть следующие предварительные требования перед началом этой статьи.
- A Windows 10 computer with Administrator privileges.
- Windows версии PowerShell 5 или выше. Вы также можете использовать PowerShell v7. В этом учебнике будет рассмотрен Windows PowerShell, так как он уже присутствует в операционной системе Windows.
- Любой редактор текстовых файлов
Работа с политикой выполнения
Если это ваш первый опыт попыток выполнения сценария Windows PowerShell, вы, возможно, столкнетесь с распространенной проблемой. PowerShell вероятно вернет сообщение об ошибке, указывающее, что сценарий “не может быть загружен, потому что выполнение сценариев отключено на этой системе”.
PowerShell возвращает вышеуказанное сообщение об ошибке при попытке запустить PowerShell с установленной политикой выполнения Restricted, Remote Signed или All Signed.
Restricted
– это политика по умолчанию для клиентских компьютеров под управлением Windows. Если вы используете PowerShell впервые, вероятно, ваша политика по умолчанию ограничит все сценарии.
Вы все равно можете выполнять отдельные команды в терминале, но не файл сценария. Ограничение включает в себя любой файл, заканчивающийся на .ps1xml
, .psm1
или .ps1
.
Unrestricted
– это политика, позволяющая запускать любой сценарий, предупреждая вас перед выполнением, если сценарий загружен из интернета. Эта политика обычно является политикой по умолчанию для устройств, не под управлением Windows.
Remote Signed
– эта политика позволяет запускать любой сценарий, который либо (a) цифрово подписан, либо (b) написан на вашем локальном компьютере с или без подписи.
Если сценарий загружен из интернета и не подписан, вам нужно разблокировать файл. Вы можете сделать это, щелкнув правой кнопкой мыши по файлу и выбрав Свойства. Или вы можете использовать командлет PowerShell Unblock-File
для этого конкретного сценария.
Использование политики Remote Signed было бы идеальным вариантом при выполнении сценария, загруженного из интернета.
All Signed
– требует цифровой подписи всех сценариев доверенным издателем. К этому относятся и сценарии, загруженные из интернета, и написанные локально на вашем компьютере.
Изменение политики выполнения PowerShell
Чтобы изменить политику выполнения:
- Откройте Windows PowerShell с помощью Запуск от имени администратора, чтобы убедиться, что у вас есть самые высокие разрешения для внесения изменений в политику.

2. При открытии выполните следующую команду PowerShell, чтобы установить политику выполнения вашего компьютера. Политика выполнения, как было упомянуто выше, может быть одним из трех различных типов. В этом руководстве используется полезная, но все еще безопасная политика выполнения RemoteSigned.
Поскольку в этом руководстве предполагается, что вы загрузили из интернета файл скрипта GetServices.ps1, установите политику выполнения на RemoteSigned.
Политика выполнения RemoteSigned заставляет вас криптографически подписывать каждый сценарий PowerShell, загруженный из Интернета, перед тем, как PowerShell запустит его на вашей системе.
3. Вы должны увидеть выход, запрашивающий подтверждение действия. Введите Y и нажмите Enter, чтобы подтвердить изменение политики.
На этом этапе следуйте следующим шагам, чтобы изучить различные методы запуска сценария PowerShell на вашем компьютере.
Как запустить сценарий PowerShell
Чтобы продемонстрировать запуск сценария PowerShell, вам действительно нужен файл сценария для запуска! Если у вас его нет под рукой, загрузите этот ZIP-архив и извлеките файл PS1 из него. Внутри вы найдете простой файл сценария под названием GetServices.ps1.
Каждый сценарий PowerShell должен заканчиваться расширением
.ps1
.
Использование консоли
После того как у вас есть готовый сценарий, есть несколько разных способов выполнения файла сценария PowerShell. Один из самых распространенных способов – через консоль PowerShell.
Для этого:
- Откройте консоль PowerShell, как показано выше.
2. Перейдите в местоположение файловой системы, где находится ваш сценарий, используя командлет PowerShell Set-Location
или псевдоним cd
. Сценарий этого учебного пособия находится в каталоге C:\Temp.
3. Запустите сценарий, используя точку (.
) в обозначении. PowerShell – это оболочка, которая также ищет имена команд. Чтобы различить между командой PowerShell и сценарием, вы должны предварить сценарий точкой. Эта точка представляет текущий каталог.
Как запустить сценарий PowerShell из командной строки через местоположение PowerShell
Если вы не можете или предпочитаете не запускать сценарии через консоль PowerShell, вы также можете сделать это через хорошую старую командную строку (командный интерпретатор).
Чтобы запустить сценарии через командную строку, сначала необходимо запустить исполняемый файл PowerShell (powershell.exe), указав расположение PowerShell C:\Program Files\WindowsPowerShell\powershell.exe
и затем передать путь к сценарию в качестве параметра.
Вы можете запускать сценарии с параметрами в любом контексте, просто указав их при запуске исполняемого файла PowerShell, например,
powershell.exe -Parameter 'Foo' -Parameter2 'Bar'
.
После открытия cmd.exe можно выполнить сценарий PowerShell, как показано ниже. В этом примере запускается движок и передается путь к сценарию C:\Temp\GetServices.ps1.
Обратите внимание, что в приведенном ниже примере используется путь к местоположению PowerShell для запуска сценария. Вам придется сделать это, если папка не указана в вашем PATH.
Местоположение PowerShell для PowerShell 7 использует другой исполняемый файл с именем pwsh.exe, обычно расположенный в C:\Program Files\PowerShell\7\pwsh.exe.
Ниже приведено удобное видео на YouTube, в котором рассматривается выполнение сценария через пакетный файл, который выполняет cmd.exe.
Использование среды PowerShell ISE
Если вы создаете собственные сценарии или редактируете сценарии других пользователей, вероятно, вы будете использовать редактор сценариев, такой как PowerShell ISE или, возможно, Visual Studio (VS) Code. Поскольку ISE поставляется с Windows, давайте сосредоточимся на этом методе для данного учебного пособия.
Для вызова скрипта через ISE:
- Перейдите в меню “Пуск”, найдите PowerShell ISE и откройте его.

2. Нажмите на Файл → Открыть и найдите ваш скрипт.

3. С открытым скриптом нажмите на зеленую кнопку запуска, чтобы выполнить скрипт. Эта кнопка вызовет скрипт встроенного терминала PowerShell внизу.

Выходной результат примера скрипта
A PowerShell script can sometimes return output. This happens when the script you’re executing is built to return objects which is a fundamental component of PowerShell.
Если вы запустите пример скрипта GetServices.ps1, вы увидите следующее. Этот скрипт выполняет командлет Get-Service
, который возвращает все службы, установленные на вашем компьютере под управлением Windows.
Запуск сценария PowerShell из другого сценария
Допустим, у вас есть два сценария, и вы хотите, чтобы один вызывал другой. Возможно, у вас есть сценарий под названием GetUser.ps1 и один под названием ResetPassword.ps1. Внутри сценария GetUser.ps1 вы хотите выполнить сценарий ResetPassword.ps1 для сброса пароля пользователя.
Внутри вызывающего сценария (GetUser.ps1) вы добавляете строку для выполнения другого сценария, так же, как если бы вы вызывали сценарий из командной строки.
Ниже вы можете видеть несколько вариантов. Обычно вы должны выбрать выполнение другого сценария в рамках той же сессии или области видимости, чтобы упростить задачу, если у вас нет конкретных причин запуска сценария в другой сессии PowerShell.