ExpertWindows 10

PowerShell : « Exécution de scripts est désactivée », comment l’activer

Vous devez exécuter un script PowerShell sur un poste de travail ou un serveur mais celui-ci refuse de dérouler comme prévu ? Le message d’erreur n’est pas forcément explicite, en tout cas pas du tout pour une personne qui n’est pas administrateur système et réseau ou technicien informatique. Dans le message d’erreur indiqué, on peut trouver l’information « Exécution de scripts est désactivée » mais sans avoir une solution simple à mettre en oeuvre.

Ce tutoriel explique comment résoudre l’erreur « Exécution de scripts est désactivée » au lancement d’un script PowerShell, sur un ordinateur Windows de n’importe quelle version (Windows 11, 10, 8.1, 8, 7 et Windows Server). En effet, si le message d’erreur PowerShell est légèrement différent selon la version de l’OS, la résolution sera la même, telle que décrite ci-dessous.


 

Le message d’erreur PowerShell

Sur Windows 10 et Windows 11

.\script.ps1 : Impossible de charger le fichier C:\Users\WindowsFacile\Desktop\script.ps1, car l’exécution de scripts est désactivée sur ce système. Pour plus d’informations, consultez about_Execution_Policies à l’adresse https://go.microsoft.com/fwlink/?LinkID=135170.
Au caractère Ligne:1 : 1
+ .\script.ps1
+ ~~~~~~~~~~~~~~
+ CategoryInfo : Erreur de sécurité : (:) [], PSSecurityException
+ FullyQualifiedErrorId : UnauthorizedAccess

powershell erreur Impossible de charger le fichier car l’exécution de scripts est désactivée sur ce système

Sur Windows 7

PS C:\Users\WindowsFacile\Desktop> .\script.ps1
Impossible de charger le fichier C:\Users\WindowsFacile\Desktop\script.ps1, car l’exécution de scripts est désactivée sur ce système. Pour plus d’informations, consultez « get-help about_signing ».
Au niveau de ligne : 1 Caractère : 13
+ .\script.ps1 <<<<
+ CategoryInfo : NotSpecified: (:) [], PSSecurityException
+ FullyQualifiedErrorId : RuntimeException


 

Autoriser l’exécution de scripts PowerShell

Cette méthode fonctionne sur toutes les versions de Windows : 11, 10, 8.1, 8 et 7.

1. Démarrer Windows Powershell, en tant qu’Administrateur.

powershell admin windows 11

2. Taper la commande suivante :

set-executionpolicy unrestricted

3. Valider par « O » (le o de oui).

Soit le résultat suivant :

PS C:\> set-executionpolicy unrestricted

Modification de la stratégie d’exécution
La stratégie d’exécution permet de vous prémunir contre les scripts que vous jugez non fiables. En modifiant la
stratégie d’exécution, vous vous exposez aux risques de sécurité décrits dans la rubrique d’aide
about_Execution_Policies. Voulez-vous modifier la stratégie d’exécution ?
[O] Oui [N] Non [S] Suspendre [?] Aide (la valeur par défaut est « O ») : o

powershell autoriser

 

Relancer le script

Vous pouvez maintenant exécuter à nouveau le script qui posait problème.

Si besoin, ce tutoriel montre comment lancer PowerShell en administrateur.

 

Bonus sur l’autorisation de scripts PS

Remettre en place la restriction

Set-ExecutionPolicy RemoteSigned

Autoriser pour l’utilisateur Windows courant

Cela va donc autoriser l’exécution de scripts PowerShell pour la session courante et pas pour les autres utilisateurs du poste de travail. Cela pourra être utile pour qu’un administrateur informatique applique un patch, sans compromettre la sécurité de l’ordinateur.

Set-ExecutionPolicy -Scope "CurrentUser" -ExecutionPolicy "Unrestricted"

Remettre en place la restriction pour l’utilisateur courant

Set-ExecutionPolicy -Scope "CurrentUser" -ExecutionPolicy "RemoteSigned"

Voir aussi

  1. Salutation. Rien n’y fait. Je suis incapable même en mode admin
    : powershell set-executionpolicy unrestricted ne fonctionne pas
    J’ai beau cherché depuis une semaine après avoir essayé même en ligne de commande, toujours le message d’erreur en rouge:
    Quelqu’un a une piste? Merci.

    Set-ExecutionPolicy : Windows PowerShell a correctement mis à jour votre stratégie d’exécution, mais ce paramétrage
    est remplacé par une stratégie définie dans un contexte plus spécifique. Votre environnement va donc conserver sa
    stratégie d’exécution actuelle, RemoteSigned. Tapez «Get-ExecutionPolicy -List» pour afficher les paramètres de
    stratégie d’exécution. Pour plus d’informations, voir «Get-Help Set-ExecutionPolicy».
    Au caractère Ligne:1 : 1
    + Set-ExecutionPolicy unrestricted
    + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo : PermissionDenied: (:) [Set-ExecutionPolicy], SecurityException
    + FullyQualifiedErrorId : ExecutionPolicyOverride,Microsoft.PowerShell.Commands.SetExecutionPolicyCommand
    PS C:\Windows\system32>

    1. Bonjour,
      S’il s’agit d’un PC d’entreprise, avec domaine, ça doit être lié à une sécurité appliquée par le service informatique (GPO) ou une restriction des droits en local.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Bouton retour en haut de la page