Introduction

Gérer des scripts PowerShell peut parfois s’avérer complexe. Sous Windows, la politique d’exécution par défaut est généralement assez stricte, comme « Restrictée », pour des raisons de sécurité. Mais si vous essayez d’exécuter des scripts personnalisés, d’automatiser des tâches ou si vous développez, cette restriction peut vous gêner. Modifier la politique d’exécution n’est pas toujours évident, surtout si vous n’avez pas l’habitude de fouiller dans les paramètres ou d’utiliser la ligne de commande. Ce guide présente plusieurs façons de desserrer ce garde-fou de sécurité afin que vos scripts puissent s’exécuter sans problème.À la fin, vous saurez comment modifier les politiques de PowerShell sous Windows 10 et 11, que ce soit via les Paramètres ou directement via des commandes dans PowerShell.

Comment corriger les restrictions de script PowerShell dans Windows 11 et 10

Vérifiez votre politique d’exécution PowerShell actuelle

Avant de modifier quoi que ce soit, il est judicieux de vérifier ce qui est déjà configuré. Dans certaines configurations, le paramètre par défaut « Restricté » peut perturber vos scripts, et comprendre ce qui existe permet d’éviter les mauvaises surprises.

  • Ouvrez PowerShell en tant qu’administrateur. Recherchez « PowerShell » dans le menu Démarrer, faites un clic droit et choisissez « Exécuter en tant qu’administrateur ».
  • Tapez cette commande et appuyez sur Enter:

    Get-ExecutionPolicy

  • Le résultat indique la politique actuelle. Généralement, elle est « Restrictée », sauf si vous ou une politique l’avez modifiée auparavant.

C’est un peu bizarre, mais parfois, il suffit de savoir avec quoi on travaille avant de continuer. Si le paramètre est « Restricté », les scripts ne s’exécuteront pas, sauf si vous le modifiez.

Méthode 1 : Modifier la stratégie d’exécution avec les paramètres de Windows 11 (uniquement pour Windows 11)

Cette méthode est simple sous Windows 11. C’est comme actionner une bascule, sans ligne de commande. Mais honnêtement, Windows 11 a rendu la modification de ces paramètres un peu complexe si vous ne savez pas où chercher. L’objectif est de permettre l’exécution de scripts locaux sans signature, ce qui est généralement suffisant pour la plupart des besoins de développement ou d’automatisation.

  • Appuyez Windows + Ipour ouvrir les Paramètres.
  • Accédez à Système et cliquez sur Pour les développeurs.
  • Faites défiler jusqu’à la section PowerShell. Vous verrez peut-être une option intitulée « Autoriser l’exécution des scripts locaux sans signature ».Activez-la.
  • Cette modification définit la politique d’exécution sur RemoteSigned. Cela signifie que vous pouvez exécuter librement des scripts locaux, mais les scripts distants doivent être signés.
  • Après avoir activé cette option, vérifiez-la. Ouvrez à nouveau PowerShell, exécutez Get-ExecutionPolicyet vérifiez si « RemoteSigned » ou une valeur similaire s’affiche.

Si vous procédez ainsi, gardez à l’esprit que sur certaines configurations, cette option peut ne pas avoir beaucoup d’effet, à moins que vous ne modifiiez également les paramètres de stratégie de groupe ou de registre. Cependant, pour la plupart des configurations domestiques, cela fonctionne.

Méthode 2 : Modifier la stratégie d’exécution via les commandes PowerShell (fonctionne sous Windows 10 et 11)

Ce guide s’adresse à tous ceux qui maîtrisent la ligne de commande. L’utilisation des commandes PowerShell offre un contrôle précis, et c’est la méthode la plus courante pour résoudre ce problème. Sa fiabilité est reconnue sur toutes les versions.

  • Ouvrez PowerShell en tant qu’administrateur : cliquez avec le bouton droit sur le bouton Démarrer, sélectionnez Windows PowerShell (Admin).
  • Pour définir la politique pour l’utilisateur actuel (afin qu’elle n’affecte que votre compte), exécutez :

    Set-ExecutionPolicy RemoteSigned -Scope CurrentUser

  • Lorsque vous y êtes invité, appuyez sur A« Oui pour tout » pour confirmer. Cette option -Scope CurrentUserest plus sûre, car elle n’affecte pas les autres utilisateurs de la machine.
  • Si vous souhaitez ouvrir les restrictions à l’échelle du système (ce qui n’est généralement pas recommandé, sauf si vous savez vraiment ce que vous faites), utilisez :

    Set-ExecutionPolicy RemoteSigned -Scope LocalMachine.

  • Cette dernière commande nécessite des droits d’administrateur et une invite de confirmation. Elle peut parfois être un peu bloquée si vos stratégies de groupe remplacent les paramètres locaux ; gardez cela à l’esprit.

Après la modification, vérifiez si cela a fonctionné : exécutez Get-ExecutionPolicy. Le message « RemoteSigned » ou la politique que vous venez de définir devrait s’afficher.

Conseils supplémentaires et problèmes courants

Il est conseillé de toujours exécuter PowerShell en tant qu’administrateur lors de la modification des stratégies d’exécution ; sinon, vous risquez de rencontrer des erreurs d’autorisation. Sachez également que la réduction des restrictions peut exposer votre système, surtout si vous optez pour des options sans restriction ou de contournement. Ne le faites que si vous en comprenez les risques.

Si les scripts ne s’exécutent toujours pas après avoir modifié la stratégie, vérifiez qu’aucune stratégie de groupe ne remplace vos paramètres. Parfois, les stratégies d’organisation imposent des règles plus strictes pour des raisons de sécurité.

Une chose étrange : sur certaines configurations, il faut un redémarrage ou une déconnexion pour que les modifications prennent pleinement effet, en particulier lors de la modification des politiques au niveau du système.

Conclure

Une fois maîtrisé, il n’est pas très compliqué de faire accepter vos scripts par PowerShell. En général, le paramétrage sur RemoteSigned couvre la plupart des besoins d’automatisation et de développement sans rendre le système incontrôlable. Soyez simplement prudent quant aux politiques que vous définissez et vérifiez systématiquement après chaque modification.

Résumé

  • Vérifiez la politique actuelle avecGet-ExecutionPolicy
  • Utilisez les paramètres sous Windows 11 pour activer les autorisations de script
  • Ou exécutez Set-ExecutionPolicy RemoteSigned -Scope CurrentUserdans PowerShell en tant qu’administrateur
  • Vérifier avecGet-ExecutionPolicy
  • Soyez attentif aux risques de sécurité lors de l’assouplissement des politiques

Croisons les doigts pour que cela aide

J’espère que cela permettra à quelqu’un d’éviter quelques heures de frustration. Modifier les politiques d’exécution n’est pas sorcier, mais Windows rend parfois la tâche un peu complexe.