По-умолчанию настройки Windows запрещают запуск скриптов PowerShell. Это необходимо для предотвращения запуска вредоносного кода на PowerShell. Настройки политик запуска PowerShell скриптов определяются в Execution Policy. В этой статье мы рассмотрим доступные политики запуска PS скриптов, как изменить Execution Policy и настроить политики использования PowerShell скриптов на компьютерах в домене.
Содержание:
- Выполнение PowerShell скриптов запрещено для данной системы
- Как разрешить запуск скриптов PowerShell с помощью Execution Policy?
- Настройка PowerShell Execution Policy с помощью групповых политик
- Способы обхода политики PowerShell Execution
Выполнение PowerShell скриптов запрещено для данной системы
При попытке выполнить PowerShell скрипт (файл с расширением PS1) на чистой Windows 10, появляется ошибка:
File C:\ps\.ps1 cannot be loaded because running scripts is disabled on this system. For more information, see about_Execution_Policies at https:/go.microsoft.com/fwlink/?LinkID=135170. + CategoryInfo : SecurityError: (:) [], PSSecurityException + FullyQualifiedErrorId : UnauthorizedAccess
Не удается загрузить файл.ps1, так как выполнение скриптов запрещено для данной системы.
Текущее значение политики выполнения скриптов PowerShell на компьютере можно получить командой:
Get-ExecutionPolicy
Доступны следующие значения PowerShell Execution Policy:
- Restricted – запрещен запуск скриптов PowerShell, можно выполнять только интерактивные команды в консоли;
- AllSigned – разрешено выполнять только подписанные PS скрипты с цифровой подписью от доверенного издателя (можно подписать скрипт самоподписанным сертификатом и добавить его в доверенные). При запуске недоверенных скриптов появляется предупреждение:
Do you want to run software from this untrusted publisher? File .ps1 is published by CN=test1 and is not trusted on your system. Only run scripts from trusted publishers
- RemoteSigned – можно запускать локальные PowerShell скрипты без ограничения. Можно запускать удаленные PS файлы с цифровой подписью (нельзя запустить PS1 файлы, скачанные из Интернета, запущенные из сетевой папки по UNC пути и т.д.);
- Unrestricted – разрешен запуск всех PowerShell скриптов;
При запуске сторонних PowerShell скриптов может появляется предупреждение с подтверждением запуска, см. ниже.
- Bypass – разрешён запуск любых PS файлов (предупреждения не выводятся) – эта политика обычно используется для автоматического запуска PS скриптов без вывода каких-либо уведомлений (например при запуске через GPO, SCCM, планировщик и т.д.) и не рекомендуется для постоянного использования;
- Default – сброс настроек выполнения скриптов на стандартную;
В Windows 10 значение политики выполнения PowerShell по-умолчанию Restricted, а в Windows Server 2016 — RemoteSigned.
- Undefined – не задано. Применяется политика Restricted для десктопных ОС и RemoteSigned для серверных.
Как разрешить запуск скриптов PowerShell с помощью Execution Policy?
Чтобы изменить текущее значение политики запуска PowerShell скриптов, используется командлет Set-ExecutionPolicy.
Например, разрешим запуск локальных скриптов:
Set-ExecutionPolicy RemoteSigned
Подтвердите изменение политики запуска PS1 скриптов, нажав Y или A.
Чтобы запрос не появлялся, можно использовать параметр Force.
Set-ExecutionPolicy RemoteSigned –Force
Если вы установили значение политики PowerShell Execution Policy в Unrestricted, то при запуске удаленных скриптов из сетевых каталогов по UNC пути, скачанных из интернета файлов, все равно будет появляться предупреждение:
Security warning Run only scripts that you trust. While scripts from the internet can be useful, this script can potentially harm your computer. If you trust this script, use the Unblock-File cmdlet to allow the script to run without this warning message. Do you want to run? [D] Do not run [R] Run once [S] Suspend [?] Help (default is "D")
Как PowerShell различает локальные и удаленные скрипты? Все дело в идентификаторе зоны ZoneId, которую выставляет браузер в альтернативном потоке при загрузке файла (см. статью “Как Windows определяет, что файл скачан из Интернета?”). Вы можете разблокировать такой файл, поставив галку “Разблокирвать” в его свойствах или очиститься метку зоны с помощью комадлета Unblock-File.
Также следует различать различные области действия политик выполнения скриптов PowerShell (scopes):
- MachinePolicy – действует для всех пользователей компьютера, настраивается через GPO;
- UserPolicy – действует на пользователей компьютера, также настраивается через GPO;
- Process — настройки ExecutionPolicy действует только для текущего сеанса PowerShell.exe (сбрасываются при закрытии процесса);
- CurrentUser – политика ExecutionPolicy применяется только к текущему пользователю (параметр из ветки реестра HKEY_CURRENT_USER);
- LocalMachine – политика для всех пользователей компьютера (параметр из ветки реестра HKEY_LOCAL_MACHINE);
Область применения политики можно указать с помощью параметр Scope командлета Set-ExecutionPolicy. Например:
Set-ExecutionPolicy -Scope Process -ExecutionPolicy Bypass –Force
Проверим текущие настройки ExecutionPolicy для всех областей:
Get-ExecutionPolicy -List
Scope ExecutionPolicy ----- --------------- MachinePolicy Undefined UserPolicy Undefined Process Bypass CurrentUser Undefined LocalMachine RemoteSigned
Значение политики выполнения, которые вы задаете с помощью командлета Set-ExecutionPolicy для областей CurrentUser и LocalMachine, хранятся в реестре. Например, выполните командлет:
Set-ExecutionPolicy -Scope LocalMachine -ExecutionPolicy Restricted –Force
Откройте ветку реестра HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\PowerShell\1\ShellIds\Microsoft.PowerShell и проверьте значение REG_SZ параметра ExecutionPolicy. Оно изменилось на Restricted (допустимые значения параметра Restricted, AllSigned, RemoteSigned, Bypass, Unrestricted и Undefined).
Аналогичные настройки для области CurrentUser находятся в разделе реестра пользователя HKEY_CURRENT_USER\SOFTWARE\Microsoft\PowerShell\1\ShellIds\Microsoft.PowerShell.
Отметим, что чаще всего в корпоративной среде используется ExecutionPolicy со значением AllSigned на уровне LocalMachine. Это обеспечивает максимальный баланс между безопасностью и удобством. Для личного пользования на компьютере можно использовать RemoteSigned. Ну а Bypass политику лучше использовать только для запуска отдельных задач (например для запуска скриптов через GPO или заданий планировщика).
Настройка PowerShell Execution Policy с помощью групповых политик
Вы можете настроить политику выполнения PowerShel скриптов на серверах или компьютерах домена с помощью групповых политик.
- С помощью редактора доменных GPO (gpmc.msc) создайте новую GPO (или отредактируйте) существующую и назначьте ее на OU с компьютерами, к которым нужно применить политику запуска PowerShell скриптов;
- В редакторе политики перейдите в раздел Computer Configuration -> Policies -> Administrative Templates -> Windows Components -> Windows PowerShell и найдите политику Turn on Script Execution (Включить выполнение сценариев);
Аналогичная политика есть в пользовательском разделе GPO — User Configuration, но политика компьютера имеет приоритет.
- Для политики доступны три значения:
- Allow only signed scripts (Разрешать только подписанные сценарии) — соответствует политике AllSigned;
- Allow local scripts and remote signed scripts (Разрешать локальные и удаленные подписанные сценарии) — соответствует политике PS RemoteSigned;
- Allow all scripts (Разрешать все сценарии) — политика Unrestricted.
- Выберите необходимое значение политики, сохраните GPO и обновите политики на компьютере.
- Проверьте, что для области MachinePolicy теперь действуют новые настройки выполнения.
После настройки политики выполнения через GPO вы не сможете изменить настройки политики выполнения скриптов вручную. При попытке изменить настройки Execution Policy на компьютере, на который применяется такая GPO, появится ошибка:
Set-ExecutionPolicy : Windows PowerShell updated your execution policy successfully, but the setting is overridden by a policy defined at a more specific scope. Due to the override, your shell will retain its current effective execution policy of RemoteSigned. Type "Get-ExecutionPolicy -List" to view your execution policy settings.
Способы обхода политики PowerShell Execution
Есть несколько трюков, которые могут помочь вам, когда нужно запустить на компьютере PowerShell скрипт, не изменяя настройки политики выполнения. Например, я хочу запустить простой PS1 скрипт, который поверяет, что запущен с правами администратора.
Можно с помощью Get-Content получить содержимое скрипта и перенаправить его в стандартныq поток ввода консоли PS.
Get-Content c:\ps\check_process_elevation.ps1 | PowerShell.exe -noprofile –
Либо можно запустить новый процесс powershell.exe с политикой выполнения Bypass:
powershell.exe -noprofile -executionpolicy bypass -file c:\ps\check_process_elevation.ps1
Все способы:
- Способ 1: Настройка локальной политики
- Способ 2: Редактирование реестра
- Способ 3: Консольная команда
- Вопросы и ответы: 0
Способ 1: Настройка локальной политики
По умолчанию запуск сценариев PowerShell запрещен политикой выполнения функций средства, что обусловлено требованиями безопасности и призвано предотвратить возможность исполнения отдельных вредоносных скриптов в среде Windows. Изменить такое положение вещей в общем-то несложно, а основной способ это сделать подразумевает привлечение «Редактора локальной групповой политики» («РЛГП»).
«РЛГП» по умолчанию доступен только в Windows 10 редакций «Pro» и «Enterprise», пользователям «Home»-выпуска операционки с конечной целью запуска PowerShell-сценариев следует сразу переходить к рассмотрению инструкций «Способ 2» и «3» в этой статье.
- Открываем окно «Редактора локальной групповой политики». Проще всего это сделать введя запрос
Изменение групповой политики
в системный «Поиск» Виндовс,также возможно через оснастку «Выполнить» (открывается по нажатию «Win»+«R» на клавиатуре) – оправляем с её помощью на выполнение команду:
gpedit.msc
Читайте также: Запуск «Редактора локальной групповой политики» в Windows 10
- Задействовав средства левой части окна РЛГП, в разделе «Конфигурация компьютера» поочередно разворачиваем каталоги: «Административные шаблоны»,
затем из него — «Компоненты Windows».
- В содержимом «Компоненты Windows» находим и кликом выделяем каталог «Windows Powershell».
- Перемещаемся в область справа окна Редактора, кликаем правой кнопкой манипулятора (ПКМ) по наименованию политики «Включить выполнение сценариев».
В отобразившемся меню выбираем «Изменить».
- В открывшемся средстве изменения параметров политики «Включить выполнение сценариев» переводим расположенную в правой верхней части окна радиокнопку в положение «Включено».
Кроме того, переходим здесь в блок «Параметры:», щёлкаем по изначально пустому раскрывающемуся списку «Политика выполнения»,
выбираем в нём «Разрешать все сценарии».
- Завершив конфигурирование политики вышеуказанным образом, нажимаем «ОК».
На этом всё, закрываем окно средства изменения локальной групповой политики – возможность запуска, по сути, любых сценариев PowerShell в текущем экземпляре Windows 10 получена.
Способ 2: Редактирование реестра
Параметры политик выполнения сценариев ПоверШелл для локального компьютера, а также его текущего пользователя сохранены в главной базе данных настроек Виндовс 10 — системном реестре. Соответственно, изменив здесь значения отдельных записей, можно решить в том числе и задачу из заголовка этой статьи.
- Открываем «Редактор реестра». Существует множество способов это сделать, наиболее быстрые: отыскать ссылку на запуск приложения через системный «Поиск»,
отправить команду
regedit
через оснастку «Выполнить».Подробнее: Способы открытия «Редактора реестра» в Windows 10
- Кликая по разворачивающим разделы из перечня слева в окне «Редактора реестра» элементам, переходим по следующему пути:
HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows
Другой метод перемещения в нужный раздел реестра: копируем путь к нему из текста этой статьи в буфер обмена Windows 10, затем вставляем данные в поле под строкой меню Редактора, нажимаем «Enter».
- Выделив (щелчком ЛКМ по наименованию в панели слева окна Редактора) расположенную по указанному выше пути папку «Windows», вызываем меню «Правка»,
кликаем в нём «Создать» — «Раздел».
- Далее вводим имя сформированного каталога – PowerShell,
нажимаем «Ввод» на клавиатуре.
- Переходим в правую часть окна Редактора, кликаем ПКМ в её свободной от значков и записей области, в открывшемся контекстном меню нажимаем «Создать» — «Параметр DWORD (32 бита)».
- Присваиваем созданному объекту наименование EnableScripts,
дважды щёлкаем по нему.
- В поле «Значение» отобразившегося окошка «Изменение параметра DWORD (32 бита)» вместо 0 пишем 1,
после этого кликаем «ОК».
- Вновь кликаем ПКМ в отображающей параметры из раздела реестра «PowerShell» области, теперь выбираем в меню «Создать» — «Строковый параметр».
- В качестве имени параметра вводим ExecutionPolicy,
после чего двойным кликом по получившемуся объекту открываем окошко его изменения.
- В поле «Значение:» вводим RemoteSigned,
щёлкаем «ОК» мышкой.
- На этом всё – закрываем окно «Редактора реестра», перезагружаем компьютер и можем приступать к отныне беспроблемному и практически ничем не ограничиваемому запуску сценариев PowerShell.
Способ 3: Консольная команда
Еще один метод устранения предусмотренных в Windows 10 преград для выполнения PowerShell-сценариев реализовать гораздо проще, нежели вышеописанные подходы, но решение в большей степени единоразовое (действует в рамках одного сеанса работы с консольной оболочкой). Подойдёт, когда нужно задействовать один-единственный скрипт рассматриваемого типа или это требуется редко.
- Запускаем приложение PowerShell от имени Администратора. Один из вариантов это сделать – средствами системной оснастки «Выполнить»:
- Нажимаем «Win»+«R» на клавиатуре, вводим в поле «Открыть» отобразившегося окошка такую команду:
рowershell
- Далее нажимаем «Ctrl»+«Shift» на клавиатуре и, удерживая эти клавиши, кликаем «ОК» в окне «Выполнить» левой кнопкой мыши.
- Подтверждаем («Да») поступивший из системного модуля «Контроль учётных записей» запрос.
Читайте также: Запуск «PowerShell» в ОС Windows 10
- Нажимаем «Win»+«R» на клавиатуре, вводим в поле «Открыть» отобразившегося окошка такую команду:
- Вводим и запускаем команду перевода политики выполнения сценариев PowerShell в состояние, когда ею ничего не блокируется:
Set-ExecutionPolicy Bypass
- Введя
Y
и затем нажав «Enter», подтверждаем запрос системы «Вы хотите изменить политику выполнения?». - На этом всё – возможности выполнять сценарии теперь ничего не препятствует и так будет продолжаться до момента закрытия сессии ПоверШелл. Вводим в консоль путь на диске ПК, по которому расположен целевой исполняемый файл рассматриваемого типа, инициируем его запуск.
Читайте также: Как скачать ISO-образ Windows при помощи PowerShell-скрипта Fido
Наша группа в TelegramПолезные советы и помощь
Windows 10/11 с настройками по-умолчанию блокирует запуск неподписанных PowerShell скриптов. Это означает, что если вы попробуете вручную запустить PS1 файл скрипта или PSM1 модуля из консоли powershell.exe
или pwsh.exe
, появится ошибка:
Невозможно загрузить файл *.PS1, так как выполнение сценариев отключено в этой системе.
File C:\PS\test_script.ps1 cannot be loaded because running scripts is disabled on this system. For more information, see about_Execution_Policies at https://go.microsoft.com/fwlink/?LinkID=135170.
В Windows возможностью запуска файлов с PowerShell скриптами (расширение *.PS1) ограничивается настройками политики выполнения скриптов (Script Execution Policy).
Текущие настройки политики выполнения PowerShell скриптов на компьютере можно вывести командой:
Get-ExecutionPolicy –List
По умолчанию в Windows запуск PowerShell скриптов блокируется с помощью значения Restricted для области LocalMachine. Остальные четыре области (MachinePolicy, UserPolicy, Process, CurrentUser) не настроены (Undefined). Это означает что в сессии будет применяться политика для области LocalMachine.
Настройки политики Script Execution Policy по умолчанию защищают Windows от запуска потенциально опасного кода в PowerShell скриптах. В большинстве случаев в целях безопасности не рекомендуется изменять настройки политики выполнения скриптов на компьютерах.
Если вам нужно разово запустить файл с PowerShell скриптом, и вы не хотите глобально менять настройки безопасности Windows, временно разрешите запуск скриптов в текущем процессе PowerShell.
Выполните команду:
Set-ExecutionPolicy -Scope Process -ExecutionPolicy RemoteSigned
Теперь попробуйте выполнить ваш PS1 файл в этой же консоли. PowerShell скрипт должен успешно запустится.
Как вы видите, значение Execution Policy для scope Process изменилось на RemoteSigned. Это тип политики разрешает запуск любых локальных PS1 файлов, но требует наличие доверенной цифровой подписи для всех PowerShell файлов, скачанных их Интернета.
В данном примере мы изменили настройки Execution Policy только для текущего процесса PowerShell. После того, как вы закроете консоль pwsh.exe/powershell.exe, или завершите сессию Windows, запуск скриптов PowerShell будет опять запрещен. Кроме того, этот способ позволит вам переопределить текущие настройки Execution Policy для процесса под пользователей без прав администратора.
Если попытаться изменить настройки политики запуска PowerShell скриптов для области LocalMachine или MachinePolicy под пользователем без прав локального администратора, появится ошибка:
Set-ExecutionPolicy: Access to the path ‘C:\Program Files\PowerShell\7\powershell.config.json’ is denied. To change the execution policy for the default (LocalMachine) scope, start PowerShell with the “Run as administrator” option. To change the execution policy for the current user, run "Set-ExecutionPolicy -Scope CurrentUser".
Если вы планирует запускать PowerShell скрипт из bat файла, или задания планировщика (Task Scheduler), можно обойти настройки Execution Policy.Для этого нужно запустить ваш PowerShell файл в отдельном процессе с параметром executionpolicy RemoteSigned или Bypass.
Powershell.exe -noprofile -executionpolicy bypass -file c:\ps\test_script.ps1
Как вы видите, такая команда позволяет запускать PowerShell скрипт и игнорировать текущие настройки политики.
Если вы хотите разрешать запуск любых локальных PowerShell скриптов в Windows, можно задать политику RemoteSigned для области LocalMachine (это менее безопасный способ!):
Set-ExecutionPolicy –ExecutionPolicy RemoteSigned
При отладке и разработке PowerShell скриптов в среде Visual Studio Code, также будет постоянно появляться ошибка “ps1 cannot be loaded because running scripts is disabled on this system” в Visual Studio Code. В качестве обходного решения нужно добавьте следующие настройки в файл settings.json, которые будут запускать скрипт в режиме Bypass (ctrl + shift + p
-> settings.json
):
"terminal.integrated.profiles.windows": { "PowerShell": { "source": "PowerShell", "icon": "terminal-powershell", "args": ["-ExecutionPolicy", "Bypass"] } }, "terminal.integrated.defaultProfile.windows": "PowerShell"
Перезапустите среду VSCode.
If PowerShell is blocking you from running scripts, follow these steps to enable PowerShell scripts execution on Windows 10.
PowerShell is a powerful Windows automation and management tool. From the PowerShell command-line interface, you can control and automate almost any part or procedure of Windows. In fact, there are a ton of both official and community-driven PowerShell scripts out there on the internet to get work done on Windows 10. When needed, you can create your own scripts too.
Basically, a PowerShell script is nothing but a text file with a bunch of commands and file extension of “.ps1”. Using the script, PowerShell can execute the commands in the file in sequential order to procedure desired results.
Considering how powerful the ability to execute scripts is, PowerShell has a built-in mechanism to block unwanted or accidental script execution. For example, when you try to execute a PowerShell script with default settings, it will show the “cannot be loaded because the execution of scripts is disabled on this system.” error. To enable PowerShell scripts execution, you first need to set the proper execution policy.
If you ever need to execute PowerShell scripts, follow the steps listed below to enable PowerShell scripts on Windows 10.
To enable PowerShell scripts, follow the steps given below one after the other.
- Press the Windows Key to open the Start menu.
- Type “PowerShell“.
- Right-click on the PowerShell result and select “Run as administrator“.
- After opening the PowerShell window, execute “get-executionpolicy” to know the current execution policy.
- Chances are it will say “Restricted“. This means the scripts are blocked.
- In the PowerShell window, execute the “set-executionpolicy remotesigned” command.
- Type “A” next to the confirmation message and press “Enter“.
- You’ve changed the execution policy to enable PowerShell scripts.
That is all. From now on you can execute the scripts created directly on your machine or signed scripts download from the internet or other computers.
If you want to run unsigned scripts downloaded from the internet or other computers, you need to set the execution policy to “unrestricted”. To do that, execute the “set-executionpolicy unrestricted” command in the PowerShell window.
To disable the PowerShell script execution, you can simply set the execution policy back to restricted. Just execute the “set-executionpolicy restricted” command and you are good to go.
That is all. It is that simple to enable PowerShell scripts execution in Windows 10. If you are stuck or need some help, comment below and I will try to help as much as possible.
To learn more about PowerShell execution policies, read how to change PowerShell exchange policy in Windows 10. You can also know more about running PowerShell scripts from this Microsoft TechNet article.
Table of Contents:
PowerShell is a powerful tool that many, including myself, don’t use to its full potential. That’s why most of us rely on PowerShell scripts crafted by others, but this can have its own hurdles. Often, you’ll see errors like “PowerShell: running scripts is disabled on this system”. To Enable PowerShell scripts in Windows 10, you must first set the execution policy.
This extra step is to protect you against attackers with malicious scripts, and should only be switched if you trust its source. It’s possible to modify PowerShell script execution via the Group Policy editor and registry, but the easiest and most sensical method is via PowerShell itself. As a result, we’re only going to focus on how to change PowerShell execution policy via the command line today.
PowerShell Execution Policies and Scope values explained
PowerShell has five execution policies; AllSigned, Bypass, RemoteSigned, Restricted, and Unrestricted. It also has three “scope” values which determine how far the PowerShell script execution changes will reach. You can read up on all of them in the tables below:
Execution Policy | Description |
Default | Sets Windows to the default execution policy – Restricted for regular Windows and RemoteSigned for server installs. |
Restricted | The default execution policy for Windows 10. You can’t run any PowerShell scripts and PowerShell is set to interactive mode so that you can only run individual commands. |
RemoteSigned | Default for server installs. You can run downloaded PowerShell scripts, but they must be signed by a trusted publisher. Non-downloaded PowerShell scripts don’t need a signature. |
AllSigned | You can only run PowerShell scripts from a trusted publisher, regardless of where they came from. |
Unrestricted | You can run unsigned scripts, but you’ll get a warning before trying to run ones that come from the internet. |
Bypass | The least strict setting. Run any script with no warnings or prompts. Not recommended for anything other than test machines. |
Scope | Description |
Process | Set the execution policy for the current Windows PowerShell instance. |
CurrentUser | The execution policy is set for the current user only and stored in the HKEY_CURRENT_USER registry key. |
LocalMachine | |
AllSigned | Sets the policy for everyone on the machine via a HKEY_LOCAL_MACHINE key. |
Keep these values in mind as you set your execution policy, as choosing the wrong one could have unintended security consequences.
How to Check Your PowerShell Execution Policy
It’s a good idea to determine what execution policy your PC already has before you change anything. This can also help after you change for verification purposes.
- Open PowerShell
Press “Windows +X” to open the Start context menu and click “Windows PowerShell (Admin)”.
- Enter the PowerShell get execution policy command
In the main PowerShell window, type the following and press enter:
Get-ExecutionPolicy -List
Check the fields for your current user and local machine to determine the current policy.
How to Set PowerShell Execution Policy to RemoteSigned
There’s a fast, UI-friendly way to enable running PowerShell scripts with the RemoteSigned policy via Windows settings.
- Go to Update & Security settings
Press “Windows + I” to open settings and click on “Update & Security”.
- Set the PowerShell execution policy to RemoteSigned via developer options
On the left sidebar, click “For developers”, then scroll down to the “PowerShell” subheading. Tick “change execution policy to allow local PowerShell scripts to run without signing. Require signing for remote scripts.”
How to Set the PowerShell Execution Policy for the Current User via PowerShell
Alternatively, you can enable PowerShell scripts via a different policy for the current user through the command-line.
- Type the following command:
Set-ExecutionPolicy Bypass -Scope CurrentUser -Force
Change “Bypass” for whichever policy type you want to use to enable PowerShell scripts, referring to the table above.
How to Enable PowerShell Scripts for the Local Machine via Command Line
If you want to apply a policy to the machine as a whole that’s possible via a slight change to the command.
- (Optional) set the current user policy to Undefined
When setting your execution policy for the local machine, Windows will use whatever you have chosen for your current user before the global setting. If this happens, you may get an error with the line “Windows PowerShell updated your execution policy successfully, but the setting is overridden by a policy defined at a more specific scope”.
If you’d like to your current user to have the same setting as the local machine as a whole, you can switch it to Undefined or change it separately in the next step. Otherwise, you can ignore the error.
- Use the PowerShell set execution policy command to enable PowerShell scripts in Windows
You can set the execution policy for the current Windows user and the Local machine with two separate commands:
Set-ExecutionPolicy Unrestricted -Scope CurrentUser -Force
Set-ExecutionPolicy Unrestricted -Scope LocalMachine -ForceYou can set a different policy for each, based on the table above, or set the current user to “Undefined” to have it follow the Local Machine setting.
How to Set PowerShell Execution Policy for the Current PowerShell Window Only
For security, it’s generally recommended that most users set PowerShell execution policy on a per-script basis.
- Enable PowerShell script execution for the current instance
In your PowerShell window, type and enter:
Set-ExecutionPolicy Bypass -Scope Process -Force
Only do this if you trust the script. You can then run the script as you normally would.
Last Updated on August 14, 2020 8:22 pm CEST
Ryan Maskellhttps://ryanmaskell.co.uk
Ryan has had a passion for gaming and technology since early childhood. Fusing the skills from his Creative Writing and Publishing degree with profound technical knowledge, he enjoys covering news about Microsoft. As an avid writer, he is also working on his debut novel.