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.
-
Automatisation | DIY | Logiciel | Réflexion | Script
Télécharger relevés Spuerkeess, impossible…
12 € par mois pour ne pas pouvoir télécharger mes propres relevés Tout part d’une chose banale :…
-
Extension Amazon Business, factures PDF en masse
Le problème : Amazon ne permet pas de tout télécharger d’un coup Sur un compte Amazon classique, chaque…
-
Automatisation | DIY | Docker | Fedora / Nobara | Linux | Logiciel | LXC | Proxmox | Raspberry Pi | Serveur IA Privé | Ubuntu | VPS
tmux sur Linux
Optimisation de la productivité sur Linux avec tmux La gestion de plusieurs terminaux au sein d’une seule fenêtre…
-
Script Batch pour définir l’image folder.jpg dans les dossiers Windows
Script Batch pour définir automatiquement l’image folder.jpg dans nos dossiers Windows Introduction Quand on organise ses fichiers sur…
-
Automatisation | DIY | Linux | Raspberry Pi | Script | Ubuntu
Protégé : Afficher la Configuration Réseau d’un Raspberry Pi
Il n’y a pas d’extrait, car cette publication est protégée.
-
Automatisation | DIY | Linux | Raspberry Pi | Script | Ubuntu
Protégé : Script Bash pour Scanner un Réseau et plus…
Il n’y a pas d’extrait, car cette publication est protégée.