Erreur Winget & PowerShell
Table des matières

Objectif
Tu identifies l’erreur de politique d’exécution (execution policy) dans PowerShell et tu appliques, uniquement dans un environnement autorisé, une correction temporaire à portée minimale pour relancer un script que tu as inspecté.
Symptôme
Dans PowerShell, tu vois un message du type :
Impossible de charger le fichier […] car l’exécution de scripts est désactivée sur ce système
Winget ou un script local refuse alors de s’exécuter.
Pourquoi ça arrive
Cette erreur est causée par les politiques de sécurité de PowerShell. Par défaut, PowerShell désactive l’exécution de scripts pour des raisons de sécurité.
Prérequis (environnement autorisé)
Une politique d’exécution ne rend pas un script fiable. N’exécute un script d’administration que dans une VM jetable avec un instantané récent, sans donnée utile, et seulement si tu en comprends la provenance et le contenu. Ne modifie pas la politique d’un ordinateur personnel, partagé ou administré.
Avant l’exécution :
- confirme que l’instantané peut être restauré;
- ouvre le script dans un éditeur et vérifie sa provenance;
- refuse tout script qui désactive une protection ou télécharge puis exécute du contenu non vérifié;
- utilise la portée
Process, limitée à la fenêtre PowerShell actuelle; - ferme la fenêtre ou restaure la valeur précédente après le test, puis reviens à l’instantané.
Étapes
Pour résoudre le blocage dans cet environnement autorisé, applique temporairement la portée minimale :
-
Ouvre PowerShell :
- Utilise une fenêtre non administratrice, sauf si l’activité exige explicitement des privilèges d’administration.
-
Conserve la politique actuelle du processus :
- Tape les commandes suivantes :
Terminal window $anciennePolitique = Get-ExecutionPolicy -Scope ProcessGet-ExecutionPolicy -List - Si une stratégie de groupe impose la politique, ne tente pas de la contourner.
- Tape les commandes suivantes :
-
Applique une politique temporaire au processus courant :
Terminal window Set-ExecutionPolicy -Scope Process -ExecutionPolicy RemoteSignedRemoteSignedexige une signature pour les scripts marqués comme provenant d’Internet. Ne retire pas ce marquage pour contourner un avertissement.
-
Relance le script :
- Exécute uniquement le script local que tu viens d’inspecter.
-
Restaure la politique :
- La portée
Processdisparaît automatiquement à la fermeture de la fenêtre. Pour la restaurer immédiatement :Terminal window Set-ExecutionPolicy -Scope Process -ExecutionPolicy $anciennePolitique - Vérifie le résultat avec
Get-ExecutionPolicy -List, puis ferme PowerShell.
- La portée
Résultat attendu
Get-ExecutionPolicy -ListmontreRemoteSigned(ou la valeur que tu as fixée) pour la portéeProcesspendant le test.- Le script local inspecté s’exécute sans le message de blocage lié à la politique d’exécution.
- Après fermeture de la fenêtre (ou restauration), la portée
Processne conserve plus le changement temporaire. - Tu restes dans la VM jetable et tu peux revenir à l’instantané.
En cas de problème
- Tu es encore sur un PC personnel, partagé ou administré : arrête. Ne change pas la politique d’exécution. Utilise une VM jetable avec instantané quand l’activité du cours le prévoit, ou demande à l’enseignant la marche à suivre pour ton poste.
- Une stratégie de groupe impose la politique : ne tente pas de la contourner ; demande de l’aide à l’enseignant.
- Le script vient d’Internet ou d’une source douteuse : ne l’exécute pas ; refuse tout script qui désactive une protection ou télécharge puis exécute du contenu non vérifié.
- L’erreur continue après
RemoteSigneden portéeProcess: vérifie que tu as bien inspecté le bon script local et que tu n’es pas dans une autre fenêtre PowerShell. - En doute : ferme PowerShell, restaure l’instantané de la VM, puis écris-moi sur Teams.
Pour aller plus loin
Sans exécuter de nouveau script : explique en deux ou trois phrases pourquoi la portée Process est préférable à un changement durable sur la machine, et ce que tu vérifierais dans le contenu d’un script avant de le lancer dans ta VM.
Ce défi est facultatif : rien à remettre, rien à noter.