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

{title}1. Просмотрите политики выполнения Windows PowerShell.2. Выполните сценарий с помощью команды ExecutionPolicy Windows PowerShell.3. Запустите сценарий в Windows PowerShell с помощью редактора реестра.4. Запустите сценарий в Windows PowerShell с групповыми политиками.

Microsoft интегрировала Windows PowerShell в качестве консоли управления по умолчанию в свою домашнюю (Windows 10) и корпоративную (Windows Server) операционные системы, чтобы выполнять сотни задач простым, безопасным и полностью функциональным способом.

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

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

Чтобы не отставать, не забудьте подписаться на наш канал на YouTube! ПОДПИСЫВАТЬСЯ

1. Просмотр политик выполнения Windows PowerShell

Microsoft предоставляет нам серию политик выполнения Windows PowerShell во всем, что касается скриптов, которыми они являются.

Ограниченный

Это правило по умолчанию, и с ним разрешается выполнение отдельных команд, но не будут выполняться никакие сценарии, в дополнение к этому выполняется выполнение всех файлов сценариев, включая файлы конфигурации и форматирования (.ps1xml), файлы сценариев модулей (. psm1) и профили Windows PowerShell (.ps1).

Allsigned (только подписи)

С помощью этого типа политики могут выполняться сценарии, для этого требуется, чтобы все сценарии и файлы конфигурации были подписаны доверенным редактором, включая сценарии, которые записываются на локальный компьютер, дополнительное подтверждение запрашивается перед выполнением сценариев Издатели, которые не были засекречены, кому доверяют или нет.

Удаленно подписанный

Эта директива разрешает выполнение сценариев, поскольку для этого требуется цифровая подпись доверенного редактора в сценариях и файлах конфигурации, которые загружаются из Интернета (включая электронную почту и программы обмена мгновенными сообщениями), не требует цифровой подписи в сценариях, которые были написаны на локальный компьютер, то есть который не был загружен из Интернета и может запускать сценарии, загруженные из Интернета и не подписанные, если они разблокированы, например, с помощью командлета Unblock-File.

Без ограничений (без ограничений)

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

Обход

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

Неопределенный (Неопределенный)

Этот параметр указывает, что в текущей области не задана политика выполнения, поэтому, если политика выполнения во всех полях имеет значение Не определено, политика автоматического выполнения будет ограничена, что является политикой выполнения по умолчанию в Windows 10.

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

 Get-ExecutionPolicy -List 

2. Выполнить сценарий с помощью команды ExecutionPolicy Windows PowerShell

Шаг 1

Чтобы использовать этот параметр, у нас есть два варианта запуска в Windows PowerShell в качестве администраторов:

 Set-ExecutionPolicy -ExecutionPolicy RemoteSigned Set-ExecutionPolicy RemoteSigned -Force 

Шаг 2

После выполнения любой из этих строк мы можем проверить результат с помощью следующего командлета :

 Get-ExecutionPolicy -List 

3. Запустить скрипт в Windows PowerShell с помощью редактора реестра

Шаг 1

Для этого метода рекомендуется создать резервную копию файлов или создать точку восстановления в случае какого-либо сбоя, тогда мы будем использовать следующие ключи и выполнить следующее:

+ R

 Regedit 

Шаг 2

В появившемся окне переходим к следующему маршруту.

 HKEY_LOCAL_MACHINE  SOFTWARE  Microsoft  PowerShell  1  ShellIds  Microsoft.PowerShell 

Шаг 3

Там мы щелкнем правой кнопкой мыши на «Microsoft.PowerShell» и выберем опцию «Новое / строковое значение»:

Шаг 4

Это новое значение будет называться ExecutionPolicy:

Шаг 5

Мы дважды щелкнем по этому значению и в поле «Информация о значении» введите «RemoteSigned »:

ШАГ 6

Нажмите Accept, и мы увидим, что эта директива применяется:

4. Запуск сценария в Windows PowerShell с групповыми политиками

Шаг 1

Этот вариант доступен для версий Windows 10 Pro и Enterprise, и для доступа к ним мы будем использовать следующие ключи и выполнять следующее:

+ R

 gpedit.msc 

Шаг 2

Нажатие Enter отобразит следующее окно, в котором мы перейдем по следующему маршруту:

  • Конфигурация оборудования
  • Административные шаблоны
  • Компоненты Windows
  • Windows PowerShell

Шаг 2

Там выбираем и открываем политику под названием «Активировать выполнение скрипта»:

Шаг 3

В отображаемом окне мы активируем поле «Enabled», а в поле «Execution policy» мы можем выбрать один из следующих вариантов. После определения директивы нажмите «Применить» и «Принять», чтобы сохранить изменения.

  • Разрешить только подписанные скрипты
  • Разрешить локальные сценарии и подписанные удаленные сценарии
  • Разрешить все скрипты

С помощью любого из этих методов можно будет правильно использовать сценарии в среде Windows.