Как изменить политику выполнения скриптов PowerShell в Windows 11

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

Итак, что происходит, когда вы пытаетесь запустить скрипт в PowerShell?

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

Например, если ваша текущая политика выполнения разрешает запуск только подписанных сценариев, а вы пытаетесь запустить неподписанный сценарий, вы получите сообщение об ошибке, в котором говорится, что запущенные сценарии остаются «отключенными» в этой системе.

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

Также читайте — Шаги для резервного копирования и восстановления быстрых настроек в Windows 11

Что такое политики выполнения и сколько их существует?

Политики выполнения в PowerShell определяют, можете ли вы загружать файлы конфигурации или запускать сценарии и должны ли сценарии иметь цифровую подпись перед их запуском. Областью по умолчанию для командлета Set-ExecutionPolicy является LocalMachine, что влияет на всех, кто использует компьютер.

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

Допустим, у вас есть скрипт с именем «myscript.ps1», который вы хотите запустить на своем компьютере. Если ваша политика выполнения определяет Restricted (по умолчанию), вы вообще не сможете запустить скрипт.

Если ваша политика выполнения указана как AllSigned, вы сможете запускать сценарий только в том случае, если он подписан доверенным издателем.

Читайте также: Как посмотреть секунды в часах Windows 11

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

1. Политика ограниченного доступа

Все ПК с Windows 11 обычно назначают политику Restricted, которая является наиболее строгой. Запуск сценариев PowerShell, файлов конфигурации или файлов сценариев модуля не разрешен, поэтому могут выполняться только отдельные команды.

2. Неограниченная политика

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

Читайте также: Как просмотреть список доступных точек восстановления в Windows 11

3. Политика AllSigned

Только подписанные сценарии PowerShell могут выполняться в соответствии с политикой выполнения All Signed. Это включает в себя любые уникальные сценарии, которые вы создаете. У вас будет возможность выбрать, доверять или не доверять издателю сценария, если он не засекречен.

4. Политика удаленной подписи

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

Читайте также: теперь вы можете запускать Windows 11 на Apple Silicon Mac

5. Неопределенная политика

Если текущая область не определяет политику выполнения. И политика выполнения во всех областях не определена. Тогда действующая политика выполнения будет Restrict для клиентов Windows и RemoteSigned для Windows Server. Это означает, что если не задана конкретная политика выполнения, клиенты Windows по умолчанию будут использовать наиболее строгую политику, в то время как Windows Server по умолчанию будет использовать менее строгую политику, которая по-прежнему требует, чтобы сценарии, загруженные из Интернета, были подписаны доверенным издателем.

6. Политика обхода

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

Кроме того, чтобы контролировать, какие скрипты разрешено запускать в вашей системе, политики выполнения могут устанавливаться в различных областях. Доступными областями являются MachinePolicy, UserPolicy, Process, CurrentUser и LocalMachine.

  1. MachinePolicy: эта область определяется групповой политикой для всех пользователей компьютера.
  2. UserPolicy: эта область описывает групповую политику для текущего пользователя ПК.
  3. Процесс: эта область влияет только на текущий процесс PowerShell.
  4. CurrentUser: эта область влияет только на текущего пользователя компьютера.
  5. LocalMachine: эта область влияет на всех пользователей компьютера. (устанавливается по умолчанию при назначении политики выполнения)

Вы можете указать область при настройке политики выполнения с помощью параметра -Scope командлета Set-ExecutionPolicy. Например, чтобы установить политику выполнения только для текущего пользователя, вы должны использовать:

Set-ExecutionPolicy -Scope CurrentUser -ExecutionPolicy RemoteSigned

Теперь вы знаете все о политиках выполнения и конкретных областях. Давайте перейдем к тому, как вы можете изменить политику выполнения сценариев PowerShell в Windows 11.

Читайте также: Как загрузить шрифты для всех языков в Windows 11

изменить политику выполнения сценариев PowerShell в Windows 11

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

Примечание. Если у вас Windows Vista или более новые версии, запустите PowerShell с параметром «Запуск от имени администратора», чтобы получить права администратора для выполнения команд.

Как изменить политику выполнения сценариев PowerShell в Windows 11, изменить политику выполнения сценариев PowerShell в Windows 11, Windows PowerShell — запустить от имени администратора, удалить политику выполненияШаг 1. Проверьте текущую политику выполнения.

Для этого запишите следующую команду и нажмите Enter.
Get-ExecutionPolicy

Установить политику выполненияШаг 2. Измените политику выполнения

чтобы изменить политику, запишите следующую команду и нажмите Enter.

Set-ExecutionPolicy RemoteSigned

Политика RemoteSigned

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

Теперь, когда вы успешно выполнили процедуру. Повторите скрипт еще раз, и он начнет работать на вашей Windows 11.

Для конкретной области:

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

Set-ExecutionPolicy -ExecutionPolicy <имя политики> -Scope <имя области>

Удаление политики выполнения

Чтобы удалить набор политик выполнения для определенной области. Вы можете использовать командлет Set-ExecutionPolicy с параметром -Scope и указать Undefined в качестве политики выполнения. Это удаляет любой набор политик выполнения для указанной области.

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

Set-ExecutionPolicy -ExecutionPolicy Undefined -Scope LocalMachine

Имейте в виду, что при изменении политики выполнения для областей LocalMachine или CurrentUser. Изменение сохраняется в реестре и остается в силе, пока вы не измените его снова. Однако, если вы установите политику выполнения для области процесса. Таким образом, он остается несохраненным в реестре и существует только до закрытия текущего процесса и любых дочерних процессов.

Читайте также: Как включить или отключить смену фона рабочего стола в Windows 11

Похожие записи

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *