Parfois, Windows vous exclut de PowerShell, citant une option qui désactive l'exécution des scripts. Voici comment y remédier.
Vous exécutez certaines commandes sur PowerShell et voyez soudainement un message d'erreur qui se lit comme suit: "PowerShell ne peut pas être chargé car l'exécution de scripts est désactivée sur ce système".
Vous vous demandez ce qui cause ce problème et comment vous pouvez le résoudre? Nous vous expliquerons les méthodes simples qui peuvent vous aider à résoudre ce problème une fois pour toutes.
Plongeons-nous !
1. Exécutez PowerShell en mode administrateur
Exécutez-vous actuellement PowerShell sans les droits d'administration appropriés? Si c'est le cas, c'est peut-être là que réside le problème.
Alors, explorons les étapes que vous devez appliquer pour exécuter l'outil en mode administrateur :
- Presse Gagner + X pour ouvrir le menu Accès rapide.
- Sélectionnez le Windows PowerShell (administrateur) option.
Et si cela ne vous aide pas, consultez les différentes manières d'ouvrir Windows PowerShell
. Mais vous ne devez vous concentrer que sur les méthodes qui vous montrent comment exécuter l'outil avec des privilèges administratifs.2. Modifier la stratégie d'exécution dans PowerShell
Dans certains cas, la modification de la stratégie d'exécution peut aider. Mais avant d'explorer les solutions, voyons d'abord ce qu'est la politique d'exécution et comment elle fonctionne.
Qu'est-ce que la politique d'exécution et comment fonctionne-t-elle ?
La politique d'exécution est une fonctionnalité de sécurité qui contrôle la façon dont vous exécutez les scripts PowerShell sur votre appareil. Il détermine simplement quels types de scripts peuvent être exécutés et lesquels doivent être évités. La meilleure partie est que vous pouvez configurer cette politique à votre guise.
Voici les options parmi lesquelles vous pouvez choisir lors de la configuration de la stratégie d'exécution :
- Limité: Cette stratégie vous interdit d'exécuter un script PowerShell.
- Libre: vous permet d'exécuter n'importe quel script mais affiche un message d'avertissement lorsque vous exécutez des scripts suspects.
- Signé à distance: Cette stratégie nécessite une signature numérique lorsque vous exécutez les scripts que vous avez téléchargés en ligne. Cependant, il ne nécessite pas de signature pour les scripts locaux.
- Contourne: Cela vous permet d'exécuter n'importe quel script sans aucune restriction. Contrairement à la politique "Unrestricted", la politique "ByPass" ne vous montrera aucun message d'avertissement lorsque vous exécutez des scripts suspects. Donc, appliquez toujours cette politique uniquement lors de l'exécution de scripts légitimes.
- TousSigné: Cette stratégie exécute uniquement les scripts signés par un éditeur de confiance.
Maintenant, si vous utilisez régulièrement PowerShell, vous voudrez peut-être modifier la politique d'exécution de temps en temps. Cependant, certaines stratégies d'exécution peuvent afficher des messages d'erreur lorsque vous exécutez vos scripts PowerShell.
Par exemple, l'activation des stratégies "Restricted", "AllSigned" ou "RemoteSigned" peut entraîner des messages d'erreur tels que l'erreur "l'exécution des scripts est désactivée".
Pour résoudre le problème, il vous suffirait de changer la politique d'exécution en "Unrestricted" ou "ByPass". Mais ce n'est pas tout; vous devez également décider de la manière dont la politique doit être mise en œuvre. Par exemple, souhaitez-vous appliquer la stratégie pour tous les utilisateurs ou uniquement pour votre session PowerShell actuelle ?
Explorons tous les autres Commandes PowerShell vous devrez ajouter lors du changement de politique d'exécution :
- Utilisateur actuel: Cette stratégie ne sera appliquée qu'à toutes les sessions PowerShell de la personne qui s'est actuellement connectée sur l'appareil.
- Machine locale: s'applique à tous les utilisateurs qui ont un compte sur l'appareil. Cette stratégie ne peut être configurée que par des utilisateurs locaux disposant de privilèges d'administration.
- Processus: s'applique uniquement à la session PowerShell en cours. Cela signifie que vous devrez exécuter à nouveau la politique si vous démarrez une nouvelle session.
- MachinePolicy: Cette politique s'applique à tous les utilisateurs qui ont un compte sur votre appareil. Cependant, il ne peut être configuré que par les administrateurs réseau disposant des autorisations appropriées. Mais il est souvent possible pour les administrateurs locaux de configurer cette stratégie d'exécution à l'aide de l'éditeur de stratégie de groupe local.
- UserPolicy: s'applique à toutes les sessions PowerShell et aux scripts exécutés par un utilisateur particulier.
Maintenant que tout est clair, explorons comment vous pouvez exécuter les politiques pertinentes pour résoudre le problème "PowerShell ne peut pas charger".
Comment changer la politique d'exécution en "Illimité"
La meilleure façon de résoudre le problème en question consiste à définir la stratégie d'exécution sur "sans restriction". Mais avant cela, vous devez vérifier comment chaque politique d'exécution est configurée.
Voici les étapes pour vérifier comment les politiques d'exécution sont configurées :
- Presse Gagner + X pour ouvrir le menu d'accès rapide.
- Sélectionner Windows PowerShell (administrateur) parmi les options.
- Tapez la commande suivante et appuyez sur Entrer:
Get-ExecutionPolicy -Liste
Cela devrait vous montrer comment les stratégies d'exécution sont configurées pour différents utilisateurs et systèmes.
Pour pouvoir changer la politique d'exécution en "Illimité" pour l'utilisateur actif actuel, tapez la commande suivante et appuyez sur Entrer:
Ensemble-ExecutionPolicy Illimité -Portée Utilisateur actuel
Pour changer la politique d'exécution en "Illimité" pour tous les utilisateurs, tapez la commande suivante et appuyez sur Entrer:
Ensemble-ExecutionPolicy Illimité -Portée Machine locale
Lorsque vous avez terminé d'exécuter la commande, fermez PowerShell et redémarrez votre PC pour enregistrer ces modifications.
Comment changer la politique d'exécution en "ByPass"
La politique d'exécution "ByPass" vous permettra d'exécuter n'importe quel script PowerShell sans tracas. Mais rappelez-vous que cela peut également vous permettre d'exécuter des fichiers bogués. Par conséquent, configurez toujours cette stratégie d'exécution uniquement lors de l'exécution de fichiers PowerShell dignes de confiance.
Pour changer la politique d'exécution en "ByPass" pour l'utilisateur actif actuel, tapez la commande suivante et appuyez sur Entrer:
Ensemble-Contournement de la politique d'exécution -Portée Utilisateur actuel
Et pour changer la politique d'exécution en "ByPass" pour tous les utilisateurs, tapez la commande suivante et appuyez sur Entrer:
Ensemble-Contournement de la politique d'exécution -Portée Machine locale
Lorsque vous avez terminé, fermez PowerShell, puis redémarrez votre appareil.
3. Modifier la stratégie d'exécution via l'éditeur de stratégie de groupe local
L'éditeur de stratégie de groupe local (LGPE) vous permet également de modifier facilement la stratégie d'exécution. En fait, cet outil peut également vous aider à configurer divers paramètres système ou à résoudre des tonnes de problèmes de PC.
N'oubliez pas que l'objectif principal est de modifier la politique d'exécution de sorte que vous puissiez exécuter vos scripts PowerShell sans tracas. Et ce faisant, vous vous débarrasserez de l'erreur "les scripts en cours d'exécution sont désactivés" sur PowerShell.
Voici comment modifier la politique d'exécution dans le LGPE :
- Taper Modifier la stratégie de groupe dans la barre de recherche du menu Démarrer et sélectionnez le Meilleure correspondance. Sinon, consultez les différentes manières d'ouvrir le LGPE.
- Aller vers Configuration ordinateur > Modèles d'administration > Composants Windows > Windows PowerShell.
- Double-cliquez sur le Activer l'exécution de script option.
Vérifier la Activé boîte. De là, cliquez sur le Politique d'exécution menu déroulant et sélectionnez Autoriser les scripts locaux et les scripts signés à distance. Cette option est similaire à l'option "RemoteSigned" que nous avons découverte précédemment.
Si vous souhaitez exécuter tous les scripts sans restrictions, choisissez l'option Autoriser tous les scripts option du menu déroulant "Politique d'exécution".
De là, cliquez Appliquer puis cliquez D'ACCORD pour enregistrer ces modifications.
4. Modifier la stratégie d'exécution à l'aide de l'éditeur de registre
Si les autres méthodes n'ont pas aidé, essayez de modifier la stratégie d'exécution à l'aide de l'éditeur de registre. Cependant, vous devez être prudent lors de la modification des clés de registre. Si vous modifiez les mauvaises touches, vous risquez d'endommager votre PC.
Maintenant, voici comment modifier la politique d'exécution via l'éditeur de registre :
- Presse Gagner + R pour ouvrir la boîte de dialogue Exécuter la commande.
- Taper Regedit et appuyez sur Entrer pour ouvrir l'Éditeur du Registre.
- Copiez-collez la commande suivante dans la barre d'adresse et appuyez sur Entrer:
HKEY_LOCAL_MACHINE\LOGICIEL\Microsoft\PowerShell\1\ShellIds\Microsoft.PowerShell
Localisez le ExecutionPolicyExecutionPolicy valeur sur le côté droit.
Si la valeur est manquante, créez-la en suivant ces étapes :
- Faites un clic droit sur un espace vide sur le côté droit.
- Sélectionner Nouveau > Valeur DWORD (32 bits).
- Nommez la valeur comme ExecutionPolicyExecutionPolicy et appuyez sur Entrer.
Double-cliquez sur le ExecutionPolicyExecutionPolicy valeur. Ensuite, tapez Signé à distance dans la section "Données de la valeur". Cela permettra à PowerShell d'exécuter des scripts locaux et signés.
Sinon, tapez Contourne dans la section "Données de la valeur". Cela permettra à PowerShell d'exécuter n'importe quel script sans limitations.
Après avoir entré votre valeur préférée dans la section "Données de la valeur", appuyez sur D'ACCORD pour enregistrer les modifications. Enfin, fermez l'Éditeur du Registre, puis redémarrez votre appareil.
Exécutez vos scripts PowerShell sans aucune restriction
Il peut être assez frustrant de ne plus pouvoir exécuter certaines commandes sur Windows PowerShell. Mais si vous rencontrez l'erreur "les scripts sont désactivés", les solutions que nous avons couvertes devraient vous aider.
Maintenant, PowerShell vous pose-t-il souvent d'autres problèmes? Eh bien, il existe d'autres solutions qui peuvent vous aider.