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?
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.
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.
cela devrait résoudre votre problème, vous devriez essayer d'exécuter ce qui suit:
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser