Comment définir ExecutionPolicy: accès à la clé de Registre refusé


22

J'exécute Windows Server 2008 en tant qu'administrateur et j'ai essayé de définir ExecutionPolicy comme Remotesigned pour PowerShell v2 comme ceci:

Set-ExecutionPolicy RemoteSigned

Mais j'ai eu cette erreur:

Set-ExecutionPolicy : Access to the registry key 'HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\PowerShell\1\ShellIds\Microsoft
.PowerShell' is denied.
At line:1 char:20
+ Set-ExecutionPolicy <<<<  RemoteSigned
    + CategoryInfo          : NotSpecified: (:) [Set-ExecutionPolicy], UnauthorizedAccessException
    + FullyQualifiedErrorId : System.UnauthorizedAccessException,Microsoft.PowerShell.Commands.SetExecutionPolicyComma
   nd

Comment régler ceci?

Réponses:


24

Faites un clic droit sur le raccourci Powershell et choisissez «Exécuter en tant qu'administrateur»


5
Notez également que si vous disposez d'un système d'exploitation 64 bits, vous devez définir la stratégie d'exécution pour les versions 32 bits et 64 bits de PowerShell.
Joey

Vous n'avez pas besoin de l'exécuter en tant qu'administrateur, exécutez-le simplement avec -Scope CurrentUsercomme le suggère la réponse de Janus
CharlesB

12

Stephen Jennings en réponse à la même question sur StackOverflow:

Set-ExecutionPolicy Unrestricted -Scope CurrentUser

Cela définira la stratégie d'exécution pour l'utilisateur actuel (stocké dans HKEY_CURRENT_USER) plutôt que pour la machine locale (HKEY_LOCAL_MACHINE).


3
Merci. C'est la bonne réponse, tout le monde n'a pas les privilèges d'administrateur, mais cela fonctionne toujours.
Charles Clayton

4

Dans le cas où "Exécuter en tant qu'administrateur" ne fonctionne pas pour vous (pas pour moi au début) ou si vous voulez une solution permanente, j'ai trouvé un correctif en ajoutant les autorisations directement au registre Windows. Après avoir fait cela lorsque j'ai appelé get-ExecutionPolicy, il n'est plus revenu restreint.

C'est l'équivalent de set-ExecutionPolicy RemoteSigned, avec cela fonctionne réellement.

A écrit à ce sujet ici: http://kyleclegg.com/powershell/

J'espère que cela t'aides.


0

J'ai trouvé que la seule solution à cette erreur qui fonctionnait pour moi était d'exécuter regedt32 et d'explorer la clé, puis de modifier les autorisations pour les utilisateurs de lire en contrôle total. Les autorisations locales sur le serveur ont priorité sur les droits d'administrateur de domaine.


Pas vraiment une bonne réponse, étant donné les deux autres réponses déjà présentes ...
HopelessN00b
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.