По-умолчанию настройки 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
- To change the PowerShell execution policy, open PowerShell (admin) and run the “Set-ExecutionPolicy RemoteSigned” command to set execution to allow scripts. The “Set-ExecutionPolicy AllSigned” command allows scripts from trusted publishers. Or the “Set-ExecutionPolicy Unrestricted” command allows scripts without restrictions.
- You can also run the “Set-ExecutionPolicy Restricted” to undo the changes and prevent scripts from running.
- Finally, you can allow PowerShell scripts by changing the policy from the Windows 11 and 10 Settings app.
On Windows 11 (or 10), by default, when you try to run a script on PowerShell, it will fail with the “cannot be loaded because running scripts is disabled on this system” error message. This is because PowerShell has an “execution policy” security feature that controls how to load configuration files and run scripts to prevent malicious code from running on the system.
If you must run a script on Windows 11 (or 10), you can change the execution policy for the local computer, current user, or session.
When you set a PowerShell execution policy for the local computer and current user, the information is stored in the Registry. If you configure the policy for a particular session, it is held in memory and then lost when you close the session.
According to Microsoft, the execution policy doesn’t restrict actions. You can bypass the policy by typing the script in the command-line interface (CLI). The policy has been designed to help users prevent running malicious scripts.
In this guide, I will teach you how to change the execution policy to run scripts successfully on PowerShell on Windows 11 or 10.
- Change execution policy on Windows 11 from PowerShell
- Change execution policy on Windows 11 from Settings
- Change execution policy to allow script not digitally signed
Change execution policy on Windows 11 from PowerShell
To change the PowerShell execution policy on Windows 11 (or 10), use these steps:
-
Open Start on Windows 11.
-
Search for PowerShell, right-click the top result, and select the Run as administrator option.
-
Type the following command to confirm the current execution policy and press Enter:
Get-ExecutionPolicy
-
(Optional) Type the following command to view the effective PowerShell execution policies and press Enter:
Get-ExecutionPolicy -List
-
Type the following command to change the PowerShell execution policy to allow scripts to run on Windows 11 and press Enter:
Set-ExecutionPolicy RemoteSigned
-
(Optional) Type the following command to change the execution policy to prevent scripts from running and press Enter:
Set-ExecutionPolicy Restricted
Once you complete the steps, you can execute the script again, and it should now run successfully on Windows 11. If you no longer want to allow scripts to run on your computer, you can run the optional command mentioned in the steps.
If you want to change the execution policy to run scripts for the current user or local computer, you need to use the “Scope” option like this: Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser
or Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope LocalMachine
.
On Windows 11, you can choose from four different execution policies to allow or deny scripts:
- Restricted — blocks any script file from running.
- RemoteSigned — allows scripts to be created on the computer. However, scripts created on another device won’t run without a trusted signature.
- AllSigned — allows all scripts to run. However, only if a trusted publisher has included a signature.
- Unrestricted — runs any script without restrictions.
You don’t need to change the execution policy if you need to run a script that does not have the required parameters and does not return output. Instead, you can use the PowerShell.exe -File "FILENAME" -ExecutionPolicy Bypass
command to bypass the restrictions.
Change execution policy on Windows 11 from Settings
On Windows 11 and 10, you can also allow scripts to run on PowerShell by changing the configuration of the command console from the Settings app.
From Windows 11
To change the PowerShell execution policy from the Settings app, use these steps:
-
Open Settings.
-
Click on System.
-
Click the For developers page.
-
Click the PowerShell setting.
-
Turn on the “Change execution policy to allow local PowerShell scripts […]” toggle switch.
If you no longer need this feature, you can block scripts by using the same steps, but in step 5, turn off the “Change execution policy to allow local PowerShell scripts […]” toggle switch.
From Windows 10
To change the PowerShell execution policy from the Settings app, use these steps:
-
Open Settings.
-
Click on Update & Security.
-
Click the For developers page.
-
Check the “Change execution policy to allow local PowerShell scripts […]” option for the PowerShell setting.
-
Click the Apply button.
If you no longer need this feature, you can block scripts by using the same steps, but in step 4, clear the “Change execution policy to allow local PowerShell scripts […]” option and apply the changes.
After you complete the steps, the setting will set the execution policy for PowerShell to “RemoteSigned.” This policy will allow you to run scripts without signing but will require signing for remote scripts.
Change execution policy to allow script not digitally signed
If you have a PowerShell script that was created on another computer or downloaded from the internet, if you try to run the script, you might get the “File […].ps1 cannot be loaded. The file […].ps1 is not digitally signed. You cannot run this script on the current system” or the “The script will not execute on the system” error message. However, as long as you know the script is safe to use and you grabbed it from a trusted source, you can change the “Process” scope policy to run it successfully.
To change the PowerShell execution policy to run a “.ps1” script that isn’t digitally signed, use these steps:
-
Open Start.
-
Search for PowerShell, right-click the top result, and select the Run as administrator option.
-
Type the following command to change to allow PowerShell scripts with a digital signature and press Enter:
Set-ExecutionPolicy -Scope Process -ExecutionPolicy Bypass
Once you complete the steps, you can run the script file using the .\Your-PowerShell-Script.ps1
command during the current session. After closing the PowerShell session, the execution policy will revert to its original stay to prevent other scripts from running.
If you have to run another script file, you can repeat the steps outlined above.
Update October 10, 2024: This guide has been updated to ensure accuracy and reflect changes to the process.
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.
By default, PowerShell restricts running scripts on end user PCs. This setting is good from a security point of view. However, if you are using a lot of scripts that you have downloaded or coded by yourself, it can be really annoying. In this article, we will review how to change the default execution policy for PowerShell scripts in Windows 10.
Windows PowerShell has four different execution policies:
- Restricted — No scripts can be run. Windows PowerShell can be used only in interactive mode.
- AllSigned — Only scripts signed by a trusted publisher can be run.
- RemoteSigned — Downloaded scripts must be signed by a trusted publisher before they can be run.
- Unrestricted — No restrictions; all Windows PowerShell scripts can be run.
- Undefined — No execution policy has been set.
If the execution policy is not set and not configured, it is displayed as «Undefined». Here is how you can see the current value.
- Open PowerShell.
- Type or copy-paste the following command and press the Enter key:
Get-ExecutionPolicy -List
The command will display all execution policies. As you can see, there are a number of scopes for which the execution policy can be defined. It can be set globally for all users, for the current user only, or for the current process. The current process policy has priority above the current user’s settings. The current user policy overrides the global option. Keep this in mind. Now, let’s see how to change the script execution policy for PowerShell.
Change the PowerShell Execution policy for a process
- Open a command prompt or PowerShell.
- Launch the powershell.exe file with the -ExecutionPolicy Unrestricted argument. For example,
Powershell.exe -ExecutionPolicy Unrestricted -File c:\data\test.ps1
This will start your script using the Unrestricted execution policy. Instead of the script, you can start a cmdlet or what you want. Instead of «Unrestricted», you can use any other policy mentioned above.
Tip: For an open PowerShell console, you can switch the execution policy using the command:
Set-ExecutionPolicy Unrestricted -Scope Process
It will remain active until you close the current PowerShell window.
Change PowerShell Execution policy for the current user
- Open PowerShell.
- Type or copy-paste the following command and press the Enter key:
Set-ExecutionPolicy Unrestricted -Scope CurrentUser
Tip: If the policy is not set after the command above, try to combine it with the -Force argument, like this:
Set-ExecutionPolicy Unrestricted -Scope CurrentUser -Force
When the execution policy is set for the current user, it will override the «LocalMachine» scope. Again, for a process, you can override it for the current PowerShell instance as described above.
Change the global PowerShell Execution policy
This execution policy applies to the computer, meaning it is effective for those user accounts which have no execution policy applied individually. With the default settings, it will be applied to all user accounts.
To change the PowerShell Execution policy in Windows 10, do the following.
- Open PowerShell as administrator.
- Execute the following command:
Set-ExecutionPolicy Unrestricted -Scope LocalMachine
You are done.
Change PowerShell Execution policy with a Registry tweak
It is possible to change the execution policy with a Registry tweak for both the current user and the computer. Here is how it can be done.
- Open the Registry editor.
- To change the execution policy for the current user, go to
HKEY_CURRENT_USER\SOFTWARE\Microsoft\PowerShell\1\ShellIds\Microsoft.PowerShell
- Set the string value ExecutionPolicy to one of the following values: Restricted, AllSigned, RemoteSigned, Unrestricted, Undefined.
- To change the execution policy for the LocalMachine scope, go to
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\PowerShell\1\ShellIds\Microsoft.PowerShell
- Set the string value ExecutionPolicy to one of the following values: Restricted, AllSigned, RemoteSigned, Unrestricted, Undefined.
Tip: See how to go to a Registry key with one click. Also, you can switch between HKCU and HKLM in Windows 10’s Registry Editor quickly.
That’s it.
Support us
Winaero greatly relies on your support. You can help the site keep bringing you interesting and useful content and software by using these options:
If you like this article, please share it using the buttons below. It won’t take a lot from you, but it will help us grow. Thanks for your support!
Все способы:
- Способ 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Полезные советы и помощь