Comment corriger l'erreur 'L'exécution de scripts est désactivée sur ce système' sur Powershell?

Powershell est un cadre d'automatisation et de gestion des tâches qui a été développé et publié par Microsoft. Il se compose d'un shell de ligne de commande et d'un langage associé. Les utilisateurs peuvent exécuter de nombreuses applets de commande dans le programme. Cependant, tout récemment, un grand nombre de rapports ont été à venir dans lesquels les utilisateurs ne sont pas capables d'exécuter un script et le « cours d' exécution de script est désactivé sur ce système » ou la « exécution des scripts est désactivé sur ce système » erreur apparaît dans le Powershell .

Dans cet article, nous discuterons de la raison pour laquelle cette erreur pourrait être déclenchée et de certaines solutions viables pour la corriger de manière permanente. Assurez-vous de suivre les étapes attentivement et avec précision pour éviter les conflits.

Quelles sont les causes de l'erreur «L'exécution de scripts est désactivée sur ce système»?

Après avoir reçu de nombreux rapports de plusieurs utilisateurs, nous avons décidé de nous pencher sur la question et nos recherches suggèrent que l'erreur est due au problème suivant.

  • Scripts désactivés:  chaque script que vous exécutez sur le Powershell doit avoir un certain niveau de vérification à partir de sources fiables pour qu'il fonctionne. Cependant, dans certains cas, même si le script a une vérification, son exécution est toujours interrompue en raison d'un accès restreint. Le fait est que Windows a une «politique d'exécution» que le script doit contourner pour pouvoir être exécuté. Si la stratégie d'exécution est définie sur «Restreint», aucun script ne peut être exécuté sur l'ordinateur.

Maintenant que vous avez une compréhension de base de la nature du problème, nous allons passer aux solutions.

Solution 1: ajouter du code

Si vous souhaitez exécuter un script particulier sur votre ordinateur sans avoir à changer la stratégie d'exécution, vous pouvez toujours ajouter un morceau de code à la commande qui accordera au script l'accès via la stratégie. Pour ça:

  1. Appuyez sur " Windows " + " R " pour ouvrir l'invite d'exécution.
  2. Tapez " Powershell " et appuyez sur " Shift " + " Ctrl " + " Entrée " simultanément pour accorder l'accès administratif.
  3. Tapez la commande pour exécuter un script particulier comme la commande suivante.
    c: \> powershell -ExecutionPolicy ByPass -Fichier script.ps1
  4. Appuyez sur " Entrée " et vérifiez si le problème persiste.

Solution 2: modifier la stratégie d'exécution

Étant donné que la politique d'exécution permet d'accéder au Powershell pour exécuter un script particulier, si elle est définie sur restreint, elle bloquera tous les scripts d'être exécutés. Il existe différents modes dans lesquels vous pouvez définir la stratégie en fonction de votre situation. Ces modes sont:

  • Restreint:  ce mode ne permet à aucun script d'être exécuté sur l'ordinateur.
  • AllSigned:  en choisissant ce mode, seules les stratégies signées par un éditeur approuvé peuvent être exécutées sur l'ordinateur.
  • RemoteSigned:  tous les scripts téléchargés doivent être signés par un éditeur de confiance.
  • Illimité:  Il n'y a aucune restriction sur aucun script.

Maintenant que vous connaissez les niveaux auxquels la stratégie d'exécution peut être définie, vous pouvez facilement choisir celui qui vous convient le mieux en fonction de vos besoins. Afin de changer la politique d'exécution:

  1. Appuyez sur " Windows " + " R " pour ouvrir l'invite d'exécution.
  2. Tapez "Powershell" et appuyez sur " Shift " + " Ctrl " + " Entrée " simultanément pour accorder l'accès administratif.
  3. Tapez la commande suivante et appuyez sur "Entrée" pour l'exécuter.
    Set-ExecutionPolicy Remotesigned

    Remarque:  Le mot « RemoteSigned » doit être remplacé par le niveau de sécurité souhaité, comme indiqué ci-dessus.

  4. Appuyez sur « Y » pour indiquer Oui et cela changera la stratégie de groupe au niveau souhaité.
  5. Vérifiez si le problème persiste.