Неможливо встановити Powershell ExecutionPolicy для CurrentUser


11

Ось зразок команд, які я виконую:

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 , але не знайшов нічого налаштованого.

Будь-яка підказка, як я можу це встановити?


Я не в змозі відтворити це. Це працює так, як задумано на моїй машині. Ви отримуєте помилки?
британіст

@briantist Це помилка Windows 10.
CamronBute

Відповіді:


11

Як і всі інші, хто сказав, що це здається помилкою у попередній збірці Windows 10. Я змусив його працювати, просто надавши параметр -Force.

Налаштування для локальної машини:

Set-ExecutionPolicy RemoteSigned -Force

Налаштування для поточного користувача:

Set-ExecutionPolicy RemoteSigned -Scope CurrentUser -Force


4

Здається, це помилка в Windows 10. Мені довелося створити ключ HKEY_CURRENT_USER\SOFTWARE\Microsoft\PowerShell\1\ShellIds\Microsoft.PowerShellі створити значення рядка в тому ключі, що викликається ExecutionPolicyданими, Unrestrictedперш ніж він запрацює. Навіть тоді я не можу змінити його без зміни реєстру.


Єдине, що допомогло. Чи знаєте ви, чому Set-ExecutionPolicyне працює?
nZeus

2

У мене було більш узагальнене питання щодо політики щодо повноважень, ніж у ОП, але комбінація відповідей, знайдених тут і в інших місцях, виявилася потрібною для мого видання 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
Вибрати Turn on Script Execution, а потім Редагувати за policy settingдопомогою Enabledта у вікні під ним, де зазначено Execution Policy, встановіть йогоAllow All Scripts

Після того, як ви все зробите, ви можете використовувати відповідь ddcruver шляхом прискореного оновлення політики, залежно від того, що ви хочете. Якщо ви встановите свою політику на "Без обмежень", я б радив встановити всі налаштування, які заповнюються, Get-ExecutionPolicy -Listна щось більш обмежувальне, наприклад RemoteSigned, оскільки шкідливі сценарії оболонок є однією з провідних причин зловмисного програмного забезпечення Windows на основі пам'яті.


1

Я не бачу помилки в моєму встановленні Windows 10. Я просто пройшов установку за допомогою VMWare Workstation 11 і створив VM. Я провів таке, не вносячи жодних змін до цього:

введіть тут опис зображення

Якщо ви хочете знати Версію Windows 10, у мене є: 10.0.10074


3
Я бачу несподівану поведінку, описану ОП. Збірка Windows 10 Enterprise 10130.
jscott

Якщо це так, вам слід надіслати помилку через Connect або побачити, чи вона вже є.

0

Ви повинні запустити паттерн з повноцінним режимом перед зміною політики виконання


Це не вирішує проблему ОП.
kayleeFrye_onDeck

0

Я виявив, що ключ реєстру знаходиться за адресою

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\PowerShell\1\ShellIds\Microsoft.PowerShell 

було встановлено RemoteSigned. Налаштування значення на Unrestrictedпрацювало для мене.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.