Поиск по сайту:

Как запустить сценарий PowerShell - все варианты объяснены


Скрипты PowerShell — отличный способ автоматизировать задачи, собирать информацию или массово изменять свойства. Большинство команд PowerShell представляют собой всего лишь одну строку, которую вы можете просто скопировать и вставить в PowerShell. Но как запустить полный скрипт PowerShell?

Существует несколько вариантов запуска скриптов PowerShell: просто из командной строки, с помощью PowerShell ISE или даже с помощью запланированной задачи.

В этой статье я объясню различные варианты запуска скрипта PowerShell. Также я помогу вам с распространенными ошибками, такими как «запуск скриптов отключен в этой системе».

Запуск скриптов отключен в этой системе

Мы начнем с распространенной ошибки, которая мешает большинству пользователей запускать скрипт PowerShell, ошибки "Запуск скриптов отключен в этой системе". Эта ошибка вызвана политикой выполнения PowerShell.

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

Итак, чтобы запустить скрипт PowerShell, сначала нужно изменить политику выполнения. Для политики у нас есть несколько вариантов:

Политика выполненияОписание
ЗапрещеноОпция по умолчанию - не позволяет запускать никакие скрипты PowerShell.
НеограниченныйМожет выполнять любой скрипт, показывает предупреждение для загруженных скриптов.
Удаленно подписаноТребуется цифровая подпись для загруженных сценариев. Вы можете
использовать сценарии, написанные локально. Вы можете разблокировать загруженные сценарии
для их выполнения без подписи.
БайПассВы можете выполнять все сценарии, и предупреждения не отображаются.
ВсеПодписаноВы можете запускать только подписанные скрипты от доверенных издателей.

Политики выполнения не предназначены для использования в качестве модели безопасности, а скорее для предотвращения случайного выполнения скрипта PowerShell. Лучший вариант — использовать политику RemoteSigned, таким образом, вы не сможете случайно запустить скачанный скрипт (вы должны сначала разблокировать его). Узнайте больше о политике выполнения в этой статье.

Совет

Узнайте больше о написании собственных скриптов PowerShell в этом полном руководстве

Чтобы изменить политику выполнения в PowerShell (и исправить "Запуск скриптов отключен на этой системе"), необходимо запустить PowerShell с правами администратора:

  1. Нажмите клавишу Windows + X (или щелкните правой кнопкой мыши по меню «Пуск»)
  2. Выберите Windows PowerShell (администратор)
  3. Запустите команду ниже:
Set-ExecutionPolicy RemoteSigned

Теперь вы должны быть в состоянии запускать скрипты PowerShell.

Запустите скрипт PowerShell

Существует несколько способов запуска сценария PowerShell. Самый удобный способ - это просто щелкнуть правой кнопкой мыши по файлу и выбрать Запуск с помощью PowerShell.

Запустите скрипт PowerShell

Но у этого метода есть недостаток. По умолчанию большинство скриптов PowerShell автоматически закрывают окно PowerShell, когда скрипт завершается. Таким образом, скрипт выполняется, но вы не сможете прочитать никакие ошибки или вывод.

Вы можете решить эту проблему, добавив следующую строку в конец скрипта PowerShell, но это не всегда удобный вариант:

Read-Host -Prompt "Press Enter to exit"

Используйте Windows PowerShell

Лично я предпочитаю запускать скрипты PowerShell из командной строки в самой Windows PowerShell. Существует два способа это сделать: вы можете сначала запустить PowerShell и перейти к скрипту, или открыть PowerShell в нужном месте из проводника.

Мы начинаем с последнего, открывая PowerShell в правильном месте из проводника. В проводнике найдите скрипт, который вы хотите выполнить, в данном случае c:\temp\powershell.

  1. Щелкните правой кнопкой мыши на пустом пространстве в проводнике (не на файле PowerShell)
  2. Выберите Открыть окно PowerShell здесь
    (В Windows 11 вам нужно будет выбрать Открыть в терминале Windows)

Как вы можете видеть, PowerShell запущен в папке c:\temp\PowerShell. Теперь мы можем запустить скрипт, просто набрав имя файла (введите первые несколько букв и нажмите Tab для автозаполнения)

Вы также можете сначала запустить Windows PowerShell:

  1. Щелкните правой кнопкой мыши по меню «Пуск» (или нажмите Клавиша Windows + X)
  2. Выберите Windows PowerShell
  3. Перейдите в папку, где находится скрипт
    cd c:\path\to\script <enter>
  4. Запустите скрипт PowerShell
    .\PowerShellExampleScript.ps1 <enter>

Запуск скрипта PowerShell из командной строки

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

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

PowerShell c:\path\to\script\PowerShellScript.ps1

Обратите внимание, что вам необходимо указать полный путь к скрипту PowerShell. Результат скрипта отображается в командной строке.

Если вы хотите оставить сессию PowerShell открытой, вы можете добавить параметр -noexit к команде:

PowerShell -noexit c:\temp\PowerShell\PowerShellExampleScript.ps1

Используя PowerShell ISE

Когда вы загружаете скрипт из Интернета, всегда полезно просмотреть скрипт перед его выполнением. Простым способом просмотреть и выполнить скрипт PowerShell является использование PowerShell ISE.

Чтобы открыть файл PowerShell в редакторе, просто щелкните правой кнопкой мыши и выберите Изменить

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

Чтобы запустить скрипт в PowerShell ISE, просто нажмите на зеленую кнопку воспроизведения на панели инструментов. Результаты скриптов отображаются в консоли:

Запустите сценарий PowerShell от имени администратора

Некоторые скрипты PowerShell требуют права администратора для корректного выполнения. Им может потребоваться доступ ко всем папкам на вашем системном диске или взаимодействие с другими доменными компьютерами или серверами.

Самый простой способ запустить скрипты PowerShell от имени администратора — это запустить Windows PowerShell от имени администратора.

  1. Нажмите Клавишу Windows + X (или щелкните правой кнопкой мыши на меню «Пуск»)
  2. Выберите Windows PowerShell (администратор)
  3. Нажмите Да в запросе безопасности учётной записи пользователя

Теперь вы можете выполнять любую команду или скрипт PowerShell с правами администратора. Просто перейдите к скрипту (или просто перетащите скрипт), чтобы запустить его.

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

Open a new PowerShell windows with Administrator Privilege
Start-Process PowerShell -Verb runAs

Run PowerShell script with Administrator Privilege
Start-Process PowerShell -Verb runAs -ArgumentList "-file c:\temp\powershell\powershellexamplescript.ps1"

Заключение

Надеюсь, вы смогли запустить свой скрипт PowerShell с помощью приведенных выше шагов. Убедитесь, что вы правильно установили политику выполнения перед запуском скрипта PowerShell. Вы также можете планировать скрипты PowerShell с помощью Планировщика задач.

Если у вас есть вопросы, просто оставьте комментарий ниже. Убедитесь, что вы также прочитали больше о настройке вашего профиля PowerShell.