PowerShell: le script est désactivé sur ce système

Le système d'exploitation Windows 10 dispose d'un outil puissant pour gérer et exécuter diverses tâches - PowerShell. Cette console est destinée aux administrateurs car elle leur permet de contrôler l'ensemble du système d'exploitation via des scripts. PowerShell est utilisé par de nombreuses applications d'arrière-plan pour apporter des modifications au système, ce qui met en danger la sécurité de notre PC.

Un script est un programme simple écrit en code qui s'exécute linéairement sur notre ordinateur. Nous pouvons créer et exécuter nos propres scripts pour automatiser les tâches, ou les applications peuvent les exécuter pour effectuer des configurations et des tâches spécifiques. Par défaut, Windows 10 n'empêche pas les applications ou nous d'exécuter des scripts sur le système s'ils sont signés ou «natifs». Le problème survient lorsque nous exécutons notre script et que nous recevons l'erreur «Le script est désactivé sur ce système ». Il s'agit d'une mesure de sécurité en couches dans PowerShell qui empêche l'exécution de scripts malveillants et peut endommager votre système. Voyons comment modifier les stratégies de sécurité PowerShell .

Stratégies d'exécution des scripts PowerShell

Si vous voyez l'erreur «Les scripts sont désactivés sur ce système », nous pouvons vérifier la configuration de la stratégie pour exécuter des scripts configurés dans Windows 10. Ouvrez PowerShell en tant qu'administrateur et:

  • Get-ExecutionPolicy -List

Nous pouvons voir plusieurs niveaux d'autorisation de politique pour exécuter des scripts.

Configuration de la stratégie Powershell

Pour modifier la politique d'exécution du script, vous devez être conscient des différents niveaux de privilèges que nous pouvons attribuer à chacun des domaines.

  • Restreint : l'exécution de tous les scripts est bloquée, mais les commandes interactives sont autorisées.
  • RemoteSigned : les scripts téléchargés doivent être signés par un éditeur de confiance. Les scripts locaux s'exécutent sans signature
  • AllSigned : permet l' exécution de tout script signé, à la fois local et distant (chargé).
  • Unrestricted : Unlimited. Vous pouvez exécuter tous les scripts, même ceux qui ne sont pas signés.

Une fois que vous connaissez les conditions et les limites des scripts, vous pouvez les modifier. Par exemple, pour corriger l'erreur «Le script est désactivé sur ce système », il vous suffit de saisir une applet. Ouvrez PowerShell en tant qu'administrateur et:

  • Set-ExecutionPolicy Unrestricted -Scope CurrentUser - lancement sans restriction pour l'utilisateur.
  • Set-ExecutionPolicyRestricted -Scope CurrentUser revenir en arrière si besoin.

Permet des scripts illimités pour un utilisateur local. Le commutateur -Scope détermine à quoi s'applique le changement de stratégie. Lorsque vous entrez " CurrentUser ", il s'applique uniquement à l'utilisateur actuel, et lorsque vous entrez " LocalMachine ", il s'applique à l'ensemble du système.

Permet des scripts illimités pour un utilisateur local

Si la méthode ci-dessus ne vous a pas aidé à démarrer votre script et que l'erreur «Le script est désactivé dans ce système» apparaît, vous pouvez supprimer complètement les restrictions. Vous devez comprendre que c'est un gros risque et que votre script doit être sécurisé à 101%. Ouvrez PowerShell en tant qu'administrateur et:

  • Set-ExecutionPolicy Unrestricted - autorise l'exécution de scripts sans restrictions.
  • Set-ExecutionPolicy Restricted- revenir à la valeur par défaut.

permettre l'exécution de scripts sans restrictions