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

je veux exécuter des scripts PowerShell sur Windows 7 en tant qu'Utilisateur régulier. Chaque fois que j'essaie, j'obtiens l'erreur suivante:

File C:UsersdanvDocumentsWindowsPowerShellprofile.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:UsersdanvDocumentsWindowsPowerShellprofile.ps1'
    + CategoryInfo          : NotSpecified: (:) [], PSSecurityException
    + FullyQualifiedErrorId : RuntimeException

tentative de résoudre via Set-ExecutionPolicy Unrestricted échoue:

PS C:Usersdanv> Set-ExecutionPolicy Unrestricted
Set-ExecutionPolicy : Access to the registry key
'HKEY_LOCAL_MACHINESOFTWAREMicrosoftPowerShellShellIdsMicrosoft.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 la commande Set-ExecutionPolicy Unrestricted en tant qu'administrateur, mais cela ne semble pas se propager aux utilisateurs non-administrateurs.

Comment puis-je exécuter des scripts avec succès en tant que non-administrateur?

54
demandé sur Peter Mortensen 2011-01-10 16:44:04

3 réponses

si vous (ou un administrateur utile) Lancez Set-ExecutionPolicy en tant qu'administrateur, la politique sera définie pour tous les utilisateurs. (Je suggérerais de" remoteSigned "plutôt que" unlimited " comme mesure de sécurité.)

NB.: Sur un OS 64 bits, vous devez exécuter Set-ExecutionPolicy pour PowerShell 32 bits et 64 bits séparément.

61
répondu Richard 2014-12-01 20:12:03
Set-ExecutionPolicy Unrestricted -Scope CurrentUser

définit la Politique d'exécution pour l'utilisateur courant (stocké dans HKEY_CURRENT_USER) plutôt que pour la machine locale (HKEY_LOCAL_MACHINE). C'est utile si vous n'avez pas le contrôle administratif de l'ordinateur.

105
répondu Stephen Jennings 2014-12-01 20:47:55

cela devrait résoudre votre problème, vous devriez essayer d'exécuter ce qui suit:

Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser 
0
répondu John V Hobbs Jr 2016-06-30 18:27:46