Impossibile impostare Powershell ExecutionPolicy per CurrentUser


11

Ecco un esempio dei comandi che sto eseguendo:

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

Voglio impostare il CurrentUserto Unrestricted, ma non riesco a farlo. Ho verificato la presenza di criteri di gruppo come indicato in questo documento MSDN , ma non ho trovato nulla di configurato.

Qualche idea su come posso impostare questo?


Non sono in grado di riprodurlo. Funziona come previsto sulla mia macchina. Stai ricevendo errori?
Briantist

@briantist È un bug di Windows 10.
CamronBute,

Risposte:


11

Come tutti gli altri hanno detto, questo sembra essere un bug nella versione di anteprima di Windows 10. Ho fatto funzionare semplicemente fornendo il parametro -Force.

Impostazione per macchina locale:

Set-ExecutionPolicy RemoteSigned -Force

Impostazione per l'utente corrente:

Set-ExecutionPolicy RemoteSigned -Scope CurrentUser -Force


3

Questo sembra essere un bug in Windows 10. Ho dovuto creare la chiave HKEY_CURRENT_USER\SOFTWARE\Microsoft\PowerShell\1\ShellIds\Microsoft.PowerShelle creare un valore di stringa in quella chiave chiamato ExecutionPolicycon i dati Unrestrictedprima che funzionasse. Anche allora, non riesco a cambiarlo senza modificare il registro.


2

Ho avuto un problema di politica PowerShell più generalizzato rispetto al PO, ma una combinazione di risposte trovate qui e altrove è risultata necessaria per la mia Win10 Anniversary Edition per aggiornare correttamente le sue politiche:

1) Assicurati che questa voce di registro esista e sia impostata sul livello di sicurezza più basso che vuoi consentire: HKEY_CURRENT_USER\SOFTWARE\Microsoft\PowerShell\1\ShellIds\Microsoft.PowerShell
Name:ExecutionPolicy Type: REG_SZ Data:Unrestricted
2) Assicurati che questa voce di registro esista e sia impostata sul livello di sicurezza più basso che vuoi consentire: HKLM:\Software\Policies\Microsoft\Windows\PowerShell
Name:ExecutionPolicy Type: REG_SZ Data: Unrestricted
3) Aggiorna i tuoi Criteri di gruppo in esecuzione gpedit.msce vai a Computer Configuration > Administrative Templates > Windows Components > Windows PowerShell
Seleziona Turn on Script Execution, quindi Modifica policy settingcon Enablede nella casella sottostante che diceExecution Policy , impostalo suAllow All Scripts

Dopo aver fatto tutto ciò, puoi utilizzare la risposta di ddcruver aggiornando forzatamente le tue politiche in base a ciò che desideri. Se imposti i tuoi criteri su Senza restrizioni, ti consiglierei di impostare tutte le impostazioni che popolano Get-ExecutionPolicy -Lista qualcosa di più restrittivo, ad esempio RemoteSigned, poiché gli script di PowerShell dannosi sono una delle principali cause di malware Windows basato sulla memoria.


1

Non vedo il bug nella mia installazione di Windows 10. Ho semplicemente passato l'installazione usando VMWare Workstation 11 e ho costruito una VM. Ho eseguito quanto segue senza apportare modifiche prima di esso:

inserisci qui la descrizione dell'immagine

Se vuoi conoscere la versione di Windows 10 ho: 10.0.10074


2
Vedo il comportamento imprevisto descritto da OP. Windows 10 Enterprise build 10130.
jscott

In tal caso, è necessario inviare il bug tramite Connect o vedere se è già presente.

0

È necessario eseguire PowerShell con modalità elevata prima di modificare i criteri di esecuzione


Ciò non risolve il problema del PO.
kayleeFrye_onDeck

0

Ho scoperto che la chiave di registro si trova in

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

era impostato su RemoteSigned. L'impostazione del valore su Unrestrictedha funzionato per me.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.