Comment convertir un script PowerShell en EXE
Transformer un script PowerShell (.ps1) en fichier exécutable (.exe) permet de simplifier la distribution d’outils d’automatisation tout en masquant le code source aux utilisateurs finaux. Pour gagner du temps et éviter les erreurs de configuration, on privilégiera l’usage du module ps2exe.


Pourquoi convertir ses scripts en fichiers exécutables ?
L’utilisation de fichiers EXE présente plusieurs avantages stratégiques :
- Professionnalisme : On peut ajouter des icônes (
.ico) et des informations de version pour un rendu propre et identifié. - Sécurité : On empêche la modification accidentelle du script par des tiers.
- Portabilité : On facilite l’exécution sur des postes où l’exécution de scripts PowerShell (
.ps1) est restreinte.
Guide d’installation rapide du module ps2exe
Pour installer l’outil sur Windows, on doit ouvrir une fenêtre PowerShell en tant qu’administrateur. On utilise ensuite la commande suivante :
Install-Module -Name ps2exe -Scope CurrentUser -Force

Note : Si l’on rencontre une erreur de chargement, on doit s’assurer que la politique d’exécution permet l’usage de scripts téléchargés via la commande
Set-ExecutionPolicy RemoteSigned -Scope CurrentUser -Force
La méthode visuelle : Utilisation de Win-PS2EXE
Pour gagner en rapidité et éviter les erreurs de syntaxe, on privilégiera l’interface graphique plutôt que les lignes de commande complexes. On lance l’outil avec la commande :
Win-PS2EXE
Paramétrage optimal des champs
Dans l’interface qui s’affiche, on complète les champs comme suit :
- Source file : On sélectionne le script
.ps1d’origine. - Target file : On définit le chemin et le nom du fichier
.exefinal. - Options : On coche la case « Compile a graphic windows program » si le script n’a pas besoin d’afficher de console noire en arrière-plan.
- Droits d’administration : On active la case « Require administrator rights » si le programme doit modifier des fichiers système.

Win-PS2EXERésolution des erreurs courantes
On peut parfois faire face à des échecs de compilation. Voici comment les traiter :
- Fichier en cours d’utilisation : Si un message indique qu’on ne peut pas accéder au fichier cible, on doit s’assurer qu’aucune ancienne version du programme n’est en cours d’exécution dans le gestionnaire des tâches.
- Conflit de nom : On essaie de changer le nom du fichier de destination dans le champ Target file pour contourner les verrous système.
- Interférence antivirus : On vérifie que Windows Defender ou autre n’isole pas le nouveau fichier par mesure de sécurité préventive.
Conclusion et gain de productivité
En automatisant la conversion des outils internes, on réduit le support technique lié aux erreurs d’exécution de scripts PowerShell. On gagne ainsi un temps précieux lors du déploiement de solutions d’administration sur un parc informatique.
-
Créer une bibliothèque de commandes pour l’onglet CMD de MD’s KeyBridge
Ce guide fait partie du projet clavier USB piloté par smartphone. Il explique comment préparer la page WordPress…
-
Clavier Wi-Fi piloté par smartphone avec un XIAO ESP32-S3
Ce guide fait partie du projet clavier USB piloté par smartphone. Il décrit la version Wi-Fi, construite avec…
-
Clavier Bluetooth piloté par smartphone avec un XIAO nRF52840
Ce guide fait partie du projet clavier USB piloté par smartphone. Il décrit la version Bluetooth : le…
-
Android | Automatisation | DIY | Hardware
Transformer un XIAO en clavier Wi-Fi ou Bluetooth piloté par smartphone
Il est possible d’écrire sur un ordinateur depuis un smartphone sans installer de logiciel sur cet ordinateur. Le…
-
Automatisation | DIY | Hardware | Home Assistant | Linux | Logiciel | Script
Annoncer l’heure en français sur un Google Home Mini avec Home Assistant
Annoncer l’heure en français chaque heure pile avec Home Assistant : une seule automatisation, la bonne enceinte, un retour arrière simple.
-
Automatisation | DIY | Hardware | Home Assistant | Linux | Logiciel | Script
Lampe de garage Home Assistant : plus de lumière à chaque appui
Lampe de garage Home Assistant : 8 minutes par appui jusqu’à 32, annonce vocale, coupure de sécurité et retour arrière simple.