Вот пример команд, которые я выполняю:
PS C:\> Get-ExecutionPolicy -List
Scope ExecutionPolicy
----- ---------------
MachinePolicy Undefined
UserPolicy Undefined
Process Undefined
CurrentUser Undefined
LocalMachine Unrestricted
PS C:\> Set-ExecutionPolicy Unrestricted -Scope CurrentUser
PS C:\> Get-ExecutionPolicy -List
Scope ExecutionPolicy
----- ---------------
MachinePolicy Undefined
UserPolicy Undefined
Process Undefined
CurrentUser Undefined
LocalMachine Unrestricted
Я хочу установить CurrentUser
для Unrestricted
, но я не могу этого сделать. Я проверил наличие групповых политик, как указано в этом документе MSDN , но не нашел ничего настроенного.
Любая подсказка относительно того, как я могу установить это?
powershell
windows-10
CamronBute
источник
источник
Ответы:
Как и все остальные, это похоже на ошибку в предварительной сборке Windows 10. Я запустил ее, просто указав параметр -Force.
Настройка для локальной машины:
Set-ExecutionPolicy RemoteSigned -Force
Настройка для текущего пользователя:
Set-ExecutionPolicy RemoteSigned -Scope CurrentUser -Force
источник
Это кажется ошибкой в Windows 10. Мне пришлось создать ключ
HKEY_CURRENT_USER\SOFTWARE\Microsoft\PowerShell\1\ShellIds\Microsoft.PowerShell
и создать строковое значение в этом ключе, которое вызываетсяExecutionPolicy
с данными,Unrestricted
прежде чем он заработает. Даже тогда я не могу изменить его без изменения реестра.источник
У меня была более общая проблема политики powershell, чем у OP, но комбинация ответов, найденных здесь и в других местах, оказалась необходимой для правильного обновления политик моей Win10 Anniversary Edition:
1) Убедитесь, что эта запись реестра существует и установлен на самый низкий уровень безопасности, который вы хотите разрешить:
HKEY_CURRENT_USER\SOFTWARE\Microsoft\PowerShell\1\ShellIds\Microsoft.PowerShell
Name:ExecutionPolicy
Type: REG_SZ
Data:Unrestricted
2) Убедитесь, что эта запись реестра существует и установлен на самый низкий уровень безопасности, который вы хотите разрешить:
HKLM:\Software\Policies\Microsoft\Windows\PowerShell
Name:ExecutionPolicy
Type: REG_SZ
Data: Unrestricted
3) Обновите групповую политику с помощью запустить
gpedit.msc
и перейдите кComputer Configuration > Administrative Templates > Windows Components > Windows PowerShell
Select
Turn on Script Execution
, затем Editpolicy setting
с помощьюEnabled
и в поле под ним, которое говоритExecution Policy
, установите его наAllow All Scripts
Сделав все это, вы можете использовать ответ ddcruver, принудительно обновляя свои политики в зависимости от того, что вы хотите. Если вы установите для своих политик значение Unrestricted, я бы посоветовал установить все параметры, которые заполняются,
Get-ExecutionPolicy -List
на что-то более ограничительное, напримерRemoteSigned
, поскольку вредоносные сценарии PowerShell являются одной из основных причин вредоносных программ Windows на основе памяти.источник
Я не вижу ошибки в моей установке Windows 10. Я просто прошел установку с использованием VMWare Workstation 11 и собрал виртуальную машину. Я выполнил следующее без внесения каких-либо изменений до этого:
Если вы хотите узнать версию Windows 10 у меня есть:
10.0.10074
источник
Вы должны запустить powershell с повышенным режимом до изменения политики выполнения
источник
Я обнаружил, что ключ реестра находится по адресу
был установлен в
RemoteSigned
. Установка значенияUnrestricted
сработала для меня.источник