Correction de l'exécution de scripts PowerShell désactivée sur ce système

/fr/images/Running-PowerShell-Scripts-is-Disabled-on-this-system_ftimg.png

Si vous avez déjà essayé d’exécuter un script PowerShell et vu le message : L’exécution de scripts est désactivée sur ce système, vous n’êtes pas seul. Je dois dire que c’est l’une des erreurs PowerShell les plus courantes, en particulier pour les développeurs, les administrateurs informatiques et les débutants essayant d’exécuter des scripts d’installation, des tâches d’automatisation ou des outils locaux.

Récemment, j’ai tenté d’exécuter un script PowerShell sur mon PC Windows 11 et j’ai rencontré l’erreur : le script PowerShell ne peut pas être chargé car l’exécution des scripts est désactivée sur ce système. Pour plus d’informations, consultez about_Execution_Policies sur https://go.microsoft.com/fwlink/?LinkID=135170.

L’erreur « L’exécution des scripts est désactivée sur ce système » se produit car la stratégie d’exécution PowerShell actuelle de votre ordinateur est définie sur « Restreint », ce qui empêche l’exécution des fichiers de script. La modification de la stratégie d’exécution PowerShell de Restricted à RemoteSigned ou Bypass vous permet d’exécuter le script avec succès. Vous pouvez le faire manuellement ou utiliser la stratégie Intune ou de groupe pour configurer la stratégie d’exécution PS sur les appareils Windows gérés.

/fr/images/PatchMyPC-AppCatalog-725x250-1.jpg Installer et mettre à jour des applications tierces avec le correctif My PC /fr/images/PowerShell-Script-cannot-be-loaded-because-running-scripts-is-disabled-on-this-system-1024x469.png Le script PowerShell ne peut pas être chargé car l’exécution des scripts est désactivée sur ce système

Pourquoi PowerShell bloque-t-il les scripts sous Windows ?

PowerShell est un puissant outil d’automatisation et de script intégré à Windows. PowerShell inclut une fonctionnalité de sécurité appelée Politique d’exécution qui contrôle essentiellement si les scripts peuvent s’exécuter sur votre ordinateur.

Voici quelques raisons valables pour lesquelles l’exécution des scripts PowerShell est bloquée par défaut, en particulier sur les systèmes Windows gérés ou verrouillés.

  • Automatisez les modifications du système telles que la modification des paramètres, des valeurs, etc.
  • Installer des logiciels ou des applications.
  • Modifier les fichiers et les paramètres du registre.
  • Interagissez avec les réseaux et les services.

Conseils de sécurité avant d’exécuter des scripts PowerShell

La politique d’exécution n’est pas un système de sécurité qui restreint les actions des utilisateurs. Cela contribue à réduire les risques accidentels et Microsoft lui-même le traite davantage comme une fonctionnalité de sécurité que comme un contrôle de sécurité strict. Cela dit, avant d’exécuter un script PowerShell, veuillez tenir compte de ces points.

  • N’exécutez pas de scripts provenant de sources inconnues.
  • Révisez les scripts avant de les exécuter. Ouvrez-le dans un Bloc-notes ou PS ISE et testez-le minutieusement.
  • Préférez RemoteSigned à Unrestricted lorsque cela est possible.
  • Utilisez la politique d’exécution de contournement uniquement lorsque cela est nécessaire.

Le correctif en cours d’exécution des scripts est désactivé sur ce système

Pour corriger l’erreur « L’exécution des scripts est désactivée sur ce système » sur votre ordinateur Windows, procédez comme suit.

Étape 1 : Vérifiez la politique d’exécution PowerShell actuelle

Pour commencer, vérifiez la stratégie d’exécution de la session PowerShell en cours à l’aide de l’applet de commande Get-ExecutionPolicy. Exécutez la commande suivante dans PowerShell pour obtenir la stratégie d’exécution du script :


Get-ExecutionPolicy

Copier


Get-ExecutionPolicy

Pour obtenir la stratégie d’exécution définie pour l’utilisateur actuel, exécutez la commande ci-dessous qui utilise le paramètre Scope de Get-ExecutionPolicy.


Get-ExecutionPolicy -Scope CurrentUser

Copier


Get-ExecutionPolicy



-



Scope CurrentUser

Après avoir exécuté la commande ci-dessus, nous voyons que la politique d’exécution actuelle est définie sur restreinte. Passez à l’étape suivante pour modifier la politique d’exécution.

/fr/images/Check-the-Current-PowerShell-Execution-Policy-1024x443.png Vérifiez la stratégie d’exécution PowerShell actuelle

Étape 2 : Définir la politique d’exécution de PowerShell

Pour modifier la stratégie d’exécution PowerShell sur votre ordinateur Windows, vous pouvez utiliser l’applet de commande Set-ExecutionPolicy. Chaque politique d’exécution est conçue dans un but spécifique, alors assurez-vous de bien comprendre son intention avant d’apporter des modifications.

Signé à distance

Il s’agit de la politique d’exécution la plus largement recommandée aux développeurs, exigeant que tous les scripts téléchargés soient signés par un éditeur de confiance. Cela vous offre suffisamment de flexibilité pour exécuter vos scripts tout en vous protégeant contre certains fichiers téléchargés dangereux.

Exécutez la commande ci-dessous pour définir la stratégie d’exécution sur RemoteSigned.


Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Force

Copier


Set-ExecutionPolicy



-



ExecutionPolicy RemoteSigned



-



Force

Pour les utilisateurs qui ne sont pas l’administrateur local sur l’appareil Windows, vous pouvez modifier la politique d’exécution pour l’utilisateur actuel à l’aide de la commande ci-dessous.


Set-ExecutionPolicy -ExecutionPolicy -Scope CurrentUser RemoteSigned -Force

Copier


Set-ExecutionPolicy



-



ExecutionPolicy



-



Scope CurrentUser RemoteSigned



-



Force

Dans l’image ci-dessous, nous voyons que la politique d’exécution est définie sur RemoteSigned. Cela devrait maintenant permettre à l’utilisateur d’exécuter les scripts et de résoudre définitivement l’erreur « L’exécution des scripts est désactivée sur ce système ».

/fr/images/Set-PowerShell-execution-policy-to-RemoteSigned-1024x442.png Définir la stratégie d’exécution PowerShell sur RemoteSigned

Contourner

La stratégie d’exécution de contournement est couramment utilisée pour les tâches d’automatisation temporaires et l’exécution de scripts d’installation uniques. Il vous permet d’exécuter un seul script sans modifier les paramètres du système ni nécessiter de droits d’administrateur. L’exécution de votre script avec la stratégie d’exécution de contournement peut résoudre en toute sécurité l’erreur « L’exécution des scripts est désactivée sur ce système ».

Lancez PowerShell et exécutez la commande ci-dessous pour exécuter le script avec la stratégie d’exécution de contournement. Assurez-vous de saisir le chemin correct du fichier de script avant d’exécuter la commande.


powershell.exe -ExecutionPolicy Bypass -File "C:\Script_Path\yourscript.ps1"

Copier


powershell.exe



-



ExecutionPolicy Bypass



-



File



"C:\Script_Path\yourscript.ps1"

Vous pouvez également définir le mode de contournement pour la session PowerShell en cours uniquement à l’aide de la commande ci-dessous. Cette modification disparaît lorsque vous fermez la fenêtre PowerShell.


Set-ExecutionPolicy Bypass -Scope Process

Copier


Set-ExecutionPolicy



Bypass



-



Scope



Process

/fr/images/Set-PowerShell-execution-policy-to-Bypass-1024x515.png Définir la stratégie d’exécution PowerShell sur Contourner

Sans restriction

Il s’agit de la stratégie d’exécution par défaut pour les ordinateurs non Windows et ne peut pas être modifiée. Il est moins couramment utilisé car il n’est pas sécurisé et permet l’exécution de tout script non signé, augmentant ainsi le risque d’exécution de scripts malveillants.

Exécutez la commande ci-dessous pour définir la politique d’exécution sur Sans restriction. Lorsqu’on vous demande « Voulez-vous modifier la politique d’exécution ? », tapez A (Oui à tout) et appuyez sur la touche Entrée pour réussir à modifier la politique d’exécution.


Set-ExecutionPolicy -ExecutionPolicy Unrestricted

Copier


Set-ExecutionPolicy



-



ExecutionPolicy Unrestricted

Dans l’image ci-dessous, nous voyons que la politique d’exécution est définie sur Unrestricted. Cela devrait maintenant permettre à l’utilisateur d’exécuter les scripts et de résoudre l’erreur « L’exécution des scripts est désactivée sur ce système ».

/fr/images/Set-PowerShell-execution-policy-to-unrestricted-1024x429.png Définir la stratégie d’exécution PowerShell sur sans restriction

Vérifiez la politique d’exécution de PowerShell dans le registre

Vous pouvez vérifier la configuration de la politique d’exécution PowerShell via le registre Windows en procédant comme suit :

  1. Sur votre PC Windows, cliquez avec le bouton droit sur Démarrer, sélectionnez Exécuter. Tapez regedit et appuyez sur la touche Entrée pour lancer l’éditeur de registre.

  2. Accédez au chemin de registre ci-dessous et recherchez la valeur de la clé ExecutionPolicy pour déterminer la politique d’exécution actuelle.


Computer\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\PowerShell\1\ShellIds\Microsoft.PowerShell

Copier


Computer\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\PowerShell\



1



\ShellIds\Microsoft.PowerShell

/fr/images/Check-PowerShell-Execution-Policy-in-Windows-Registry-1024x531.png Vérifier la stratégie d’exécution PowerShell dans le registre Windows

Réflexions finales

Le message d’erreur « PowerShell : l’exécution des scripts est désactivée sur ce système » peut sembler intimidant, mais dans la plupart des cas, il s’agit simplement de PowerShell qui fait son travail par mesure de précaution. Le correctif est généralement simple : vérifiez d’abord votre politique d’exécution et définissez-la de préférence sur RemoteSigned pour une utilisation quotidienne. Utilisez le contournement uniquement lorsque cela est approprié. Une fois que vous comprenez le fonctionnement des politiques d’exécution, cette erreur devient beaucoup plus facile à gérer.

C’est tout pour ce guide, n’hésitez pas à partager vos questions ou suggestions dans les commentaires ci-dessous !

*️⃣ Lien source :

exécutez un script PowerShell, une stratégie Intune ou de groupe pour configurer la stratégie d’exécution PS, /fr/images/PatchMyPC-AppCatalog-725x250-1.jpg, Politique d’exécution ,