Voici un exemple des commandes que j'exécute:
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
Je veux le régler CurrentUser
sur Unrestricted
, mais je n'arrive pas à le faire. J'ai vérifié les stratégies de groupe en place, comme indiqué dans ce document MSDN , mais je n'ai rien trouvé de configuré.
Un indice sur la façon dont je peux régler cela?
powershell
windows-10
CamronBute
la source
la source
Réponses:
Comme tous les autres l'ont dit, cela semble être un bogue dans la version préliminaire de Windows 10. Je l'ai fait fonctionner en fournissant simplement le paramètre -Force.
Réglage pour la machine locale:
Set-ExecutionPolicy RemoteSigned -Force
Réglage pour l'utilisateur actuel:
Set-ExecutionPolicy RemoteSigned -Scope CurrentUser -Force
la source
Cela semble être un bogue dans Windows 10. J'ai dû créer la clé
HKEY_CURRENT_USER\SOFTWARE\Microsoft\PowerShell\1\ShellIds\Microsoft.PowerShell
et créer une valeur de chaîne dans cette clé appeléeExecutionPolicy
avec les donnéesUnrestricted
avant que cela fonctionne. Même alors, je n'arrive pas à le changer sans modifier le registre.la source
J'avais un problème de politique PowerShell plus généralisé que l'OP, mais une combinaison de réponses trouvées ici et ailleurs a finalement été nécessaire pour que mon édition anniversaire Win10 mette correctement à jour ses politiques:
1) Assurez-vous que cette entrée de registre existe et qu'elle est définie sur le niveau de sécurité le plus bas que vous souhaitez autoriser:
HKEY_CURRENT_USER\SOFTWARE\Microsoft\PowerShell\1\ShellIds\Microsoft.PowerShell
Name:ExecutionPolicy
Type: REG_SZ
Data:Unrestricted
2) Assurez-vous que cette entrée de registre existe et qu'elle est définie sur le niveau de sécurité le plus bas que vous souhaitez autoriser:
HKLM:\Software\Policies\Microsoft\Windows\PowerShell
Name:ExecutionPolicy
Type: REG_SZ
Data: Unrestricted
3) Mettez à jour votre stratégie de groupe en en cours d'exécution
gpedit.msc
et accédez àComputer Configuration > Administrative Templates > Windows Components > Windows PowerShell
Sélectionner
Turn on Script Execution
, puis Modifierpolicy setting
avecEnabled
et dans la case en dessous qui ditExecution Policy
, définissez-le surAllow All Scripts
Après avoir fait tout cela, vous pouvez utiliser la réponse de ddcruver en mettant à jour vos politiques en fonction de ce que vous voulez. Si vous définissez vos stratégies sur Non restreint, je vous conseillerais de définir tous les paramètres qui remplissent
Get-ExecutionPolicy -List
à quelque chose de plus restrictif, commeRemoteSigned
, car les scripts PowerShell malveillants sont l'une des principales causes des logiciels malveillants Windows basés sur la mémoire.la source
Je ne vois pas le bogue dans mon installation de Windows 10. J'ai simplement effectué l'installation à l'aide de VMWare Workstation 11 et construit une machine virtuelle. J'ai exécuté ce qui suit sans apporter de modifications avant:
Si vous souhaitez connaître la version de Windows 10, j'ai:
10.0.10074
la source
Vous devez exécuter powershell avec le mode élevé avant de modifier la stratégie d'exécution
la source
J'ai trouvé que la clé de registre située à
a été défini sur
RemoteSigned
. Définir la valeur surUnrestricted
a fonctionné pour moi.la source