Настройка политики запуска скриптов (Execution Policy) PowerShell
Настройка политики запуска скриптов (Execution Policy) PowerShell
03.06.2020
itpro
PowerShell, Windows 10, Windows Server 2016
Комментариев пока нет
По-умолчанию настройки Windows запрещают запуск скриптов PowerShell. Это необходимо для предотвращения запуска вредоносного кода на PowerShell. Настройки политик запуска PowerShell скриптов определяются в Execution Policy. В этой статье мы рассмотрим доступные политики запуска PS скриптов, как изменить Execution Policy и настроить политики использования PowerShell скриптов на компьютерах в домене.
Как разрешить в Windows выполнение скриптов PowerShell
Проблема заключается в том, что политика выполнения скриптов запрещает выполнять эти самые скрипты. Узнать текущее значение политики можно командой:
Для своей системы я получил значение:
Чтобы разрешить выполнение файлов с расширением .ps1, то есть чтобы запустить скрипт PowerShell в Windows, выполните команду:
Когда поступит запрос, введите Y.
Данные команды нужно выполнять в PowerShell, а не в CMD.
Запуск PowerShell от имени администратора
Также поиск в меню «Пуск» — это самый простой способ запустить PowerShell от имени администратора. Для этого нужно воспользоваться поиском и когда программа будет найдена, кликнуть по ней правой кнопкой мышки. В открывшемся меню будет доступен вариант запуска от имени администратора. Данный способ запуска от имени администратора также доступен в Windows 7 и Windows 10
Кроме этого, в Windows 10 есть дополнительная возможность, которая позволяет запускать PowerShell как с правами пользователя, так и от имени администратора. Чтобы воспользоваться этим вариантом нужно кликнуть правой кнопкой мышки по кнопке «Пуск» и в открывшемся меню выбрать «PowerShell».
Если же в этом меню вместо PowerShell у вас отображается обычная командная строка, то это можно исправить. Откройте меню «Параметры» (комбинация клавиш Win-i) и перейдите в раздел «Персонализация – Панель задач». Здесь нужно включить опцию, которая заменяет командную строку на PowerShell, после чего описанный выше способ будет работать.
Создание файла сценария PowerShell
В Windows 10 файлы сценариев PowerShell можно создавать с помощью практически любого текстового редактора или консоли интегрированной среды сценариев (ISE).
Создание скрипта с помощью блокнота
Чтобы создать сценарий PowerShell с помощью блокнота, выполните следующие действия:
- Откройте приложение «Блокнот».
- Создайте или вставьте сценарий. Например: Write-Host ««Поздравляем! Ваш первый скрипт успешно выполнен»»
Вышеприведенный скрипт просто выводит на экране фразу «Поздравляем! Ваш первый скрипт успешно выполнен».
Создание сценария с помощью интегрированной среды сценариев
Кроме того, консоль PowerShell ISE можно использовать для кодирования сценариев в Windows 10. Интегрированная cреда сценариев является сложным инструментом, но вы можете начать работу с помощью этих шагов:
- Откройте системный поиск и введите запрос Windows PowerShell ISE, щелкните правой кнопкой мыши верхний результат, и выберите Запуск от имени администратора или выберите соответствующий параметр в правой колонке.
В PowerShell ISE создайте пустой файл .ps1, в котором можно создать или вставить скрипт. Например:
Write-Host ««Поздравляем! Ваш первый скрипт успешно выполнен»»
Как только Вы выполнили эти шаги с помощью Блокнота или PowerShell ISE, сценарий готов к запуску, но он не будет выполнен. Это происходит потому, что параметры PowerShell по умолчанию всегда настроены на блокирование выполнения любого сценария.
Как запустить скрипт PowerShell с помощью ярлыка?
Осуществить такую задачу можно двумя способами:
- Создать bat/cmd файл, в котором прописать команду для запуска скрипта (с параметрами вы ознакомились выше)
- Создать ярлык на PowerShell, который можно найти в папке c:WindowsSystem32WindowsPowerShellv и в свойствах ярлыка в поле «Объект» дописать необходимые параметры.
Таким образом, например, чтобы запустить скрипт powershell при входе пользователя, можно просто создать ярлык, как описано во 2-м пункте и поместить его в автозагрузку. Так же, создание ярлыка одним из способов выше позволит легко запустить скрипт от имени администратора или от имени любого другого пользователя как обычную программу.
Скриптовый язык PowerShell — довольно мощный инструмент для решения различных задач, но его можно использовать не только для хороших вещей, но и во вред, поэтому, пользуйтесь им с умом 😉
В операционной системе Windows 10 имеется мощный инструмент для управления и выполнения различных задач — это PowerShell. Эта консоль предназначена для администраторов, поскольку она позволяет им контролировать всю операционную систему с помощью сценариев (script). PowerShell используется многими фоновыми приложениями для внесения изменений в систему и это ставит под угрозу безопасность нашего ПК.
Сценарий (script) — простая программа написана в коде, который работает линейно на нашем компьютере. Мы можем создавать и выполнять собственные сценарии для автоматизации задач, или приложения могут выполнять их для выполнения определенных конфигураций и задач. По умолчанию Windows 10 не запрещает ни приложениям, ни нам запускать сценарии в системе, если они подписаны или являются «своими». Проблема возникает, когда мы запускаем свой скрипт, и нам выдает ошибку «Выполнение сценариев отключено в этой системе». Это многоуровневая мера безопасности в PowerShell, которая предотвращает запуск вредоносных сценариев и может нанести вред системе. Давайте разберем, как изменить политики безопасности для PowerShell.
Используемые инструменты
Скорее всего, вы уже сталкивались с такими инструментами, как Командная строка, PowerShell и Планировщик заданий. Если вы — новичок, то ознакомьтесь с описанием данных встроенных средств Windows.
Командная строка и пакетные файлы .BAT
Командная строка в Windows 10 является преемником командной строки MS-DOS и представляет собой программу-интерпретатор командной строки. Файл, который содержит несколько команд или инструкций называется «пакетным файлом» и обычно имеет расширение .bat. Он может использоваться для автоматизации рутинных задач, например, для резервного копирования файлов и папок на переносной диск. Чтобы найти командную строку введите cmd или Командная строка в меню «Пуск» и выберите предложенный вариант.
Вам нужно лишь собрать необходимые команды в текстовом файле с расширением «.bat» или «.cmd». Вы можете просто открыть файл для его выполнения — Windows 10 выполнит команды в файле последовательно или в соответствии с запрограммированным порядком.
Полный список команд с описанием доступен на сайте Microsoft.
Скрипты PowerShell
PowerShell — мощный фреймворк для управления и автоматизации для продвинутых пользователей и системных администраторов. Если вам нужен обширный потенциал для автоматизации, то вам стоит изучить и использовать PowerShell.
Командная строка гораздо проще в изучении и использовании, чем PowerShell, потому что последний предлагает больше гибкости и функциональных возможностей.
Чтобы получить доступ к Windows PowerShell, введите PowerShell в поисковой строке меню Пуск. Вы увидите две программы — «PowerShell» и «PowerShell ISE». PowerShell представляет собой интерпретатор командной строки, а PowerShell ISE применяется для написания скриптов (с расширением «.ps1»), которые содержат группу команд, также, как и пакетные файлы .bat.
Полный список команд Powershell с описанием доступен на сайте Microsoft.
Планировщик заданий
Другой полезный инструмент Windows, который поможет в автоматизации — Планировщик заданий, программа для запуска различных программ и задач по расписанию. Запланированные задания запускаются в определенное время или через определенные интервалы времени. Пользователь может настроить показ сообщений или уведомлений по завершению задачи и выполнять другие дополнительные действия. Более того, вы можете настроить задачи под ваши нужды.
Чтобы запустить планировщик, введите фразу Планировщик заданий в поисковой строке меню Пуск. Обратите внимание, что некоторые программы Windows и некоторые сторонние приложения (например, Google Chrome) создают запланированные задачи для нужд обслуживания, поэтому не стоит редактировать или отключать уже имеющиеся задачи.
Мы уже публиковали подробный материал по использованию Планировщика заданий.
Конфигурация компьютера (или Конфигурация пользователя) Политики Конфигурация Windows Сценарии
(Computer Configuration или User Configuration Policies Windows Settings Scripts)
В данной ветке мы увидим параметры для настройки сценария при входе или выходе из системы (включении или выключении компьютера). Дважды кликаем по нужному параметру и переходим на вкладку Сценарии Powershell (Powershell Scripts).
Нажимаем по Добавить и выбираем заранее написанный скрипт.
Если необходимо задать приоритет сценариям перед обычными сценариями, в выпадающем списке «Для этого объекта групповой политики выполните сценарии в следующем порядке» выбираем нужный пункт.