73 votes

Powershell sur Windows 7: Set-ExecutionPolicy pour les utilisateurs réguliers

Je veux exécuter des scripts Powershell sur Windows 7 en tant qu'utilisateur normal. Chaque fois que j'essaie, j'obtiens l'erreur suivante:

File C:\Users\danv\Documents\WindowsPowerShell\profile.ps1 cannot be loaded because the
execution of scripts is disabled on this system. Please see "get-help about_signing" for 
more details.
At line:1 char:2
+ . <<<<  'C:\Users\danv\Documents\WindowsPowerShell\profile.ps1'
    + CategoryInfo          : NotSpecified: (:) [], PSSecurityException  
    + FullyQualifiedErrorId : RuntimeException 

Pour tenter de résoudre via Set-ExecutionPolicy Unrestricted d'échec:

PS C:\Users\danv> Set-ExecutionPolicy Unrestricted
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 <<<<  Unrestricted
    + CategoryInfo          : NotSpecified: (:) [Set-ExecutionPolicy], UnauthorizedAccessException
    + FullyQualifiedErrorId : System.UnauthorizedAccessException,Microsoft.PowerShell.Commands.SetExecutionPolicyCommand 

Je peux exécuter l' Set-ExecutionPolicy Unrestricted de commande en tant qu'Administrateur, mais cela ne semble pas se propager à des utilisateurs non-administrateurs.

Comment puis-je successfullly exécuter des scripts comme un non-Administrateur?

143voto

Stephen Jennings Points 3429
Set-ExecutionPolicy Unrestricted -Scope CurrentUser

Ceci permettra de définir la politique d'exécution pour l'utilisateur actuel (stockées dans la clé de registre HKEY_CURRENT_USER) plutôt que sur la machine locale (HKEY_LOCAL_MACHINE).

69voto

Richard Points 54016

Si vous (ou un utile admin) s'exécute Set-ExecutionPolicy en tant qu'administrateur, la politique sera définie pour tous les utilisateurs. (Je dirais "remoteSigned" plutôt que "sans restriction" en tant que mesure de sécurité).

NB. sur un OS 64 bits, vous devez exécuter Set-ExecutionPolicy pour les 32 bits et 64 bits PSH séparément.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X