Vous pouvez invoquer des scripts PowerShell de différentes manières, mais ils ont tous un inconvénient : vous ne pouvez pas simplement les exécuter comme un programme Windows standard (EXE). Peut-être souhaitez-vous empêcher la modification du code dans un script ou rendre plus facile l’exécution des scripts pour vos utilisateurs. Il est temps d’apprendre comment convertir un fichier PS1 en EXE.
Dans ce tutoriel, vous apprendrez à utiliser des générateurs PS1 vers EXE, et vous pourrez également les comparer pour choisir celui qui correspond le mieux à vos préférences.
Exigences
Différents outils sont démontrés tout au long de ce tutoriel avec des instructions étape par étape sur la façon de convertir PS1 en EXE. Assurez-vous d’avoir toutes les exigences ci-dessous pour suivre le tutoriel.
- A Windows computer with an administrator privileges
- À partir de Windows 7, 8.1 et 10, PowerShell est déjà inclus lors de l’installation du système d’exploitation. Bien que certains scripts puissent être exécutés avec PowerShell 3.0, il est préférable d’obtenir PowerShell 5.1 ou PowerShell 7
- Votre politique d’exécution PowerShell doit être configurée pour autoriser l’exécution des scripts
PS2EXE
L’utilitaire PS2EXE est le premier outil de notre liste. PS2EXE est un module PowerShell gratuit et open source qui, selon l’auteur Ingo Karstein, « ne convertit pas le script PowerShell dans une autre langue. Il encapsule le script avec un hôte PowerShell léger écrit en C# et compile le code source C# généré dynamiquement en mémoire vers un fichier EXE. »
Visitez le blog d’Ingo Karstein pour en savoir plus sur les débuts de PS2EXE. Le développement du module s’est arrêté vers 2017, mais Markus Scholtes a repris l’évolution de PS2EXE en créant une version GUI également.
Installation du module PS2EXE
PS2EXE a commencé comme un script PowerShell, et lorsque Markus Scholtes a repris le développement, un module a été rendu disponible. Comme PS2EXE utilise le module pour convertir votre script en un exécutable, vous devrez l’installer depuis la galerie PowerShell.
Suivez les instructions ci-dessous pour installer le module PS2EXE.
- Ouvrez une console PowerShell en tant qu’administrateur.
2. Exécutez la commande Install-Module
pour télécharger et installer le module depuis la galerie PowerShell.
3. Tapez Y et appuyez sur Entrée lorsque vous voyez la demande concernant un dépôt non approuvé. Ne vous inquiétez pas. Ce message est inoffensif.
Conversion de PS1 en EXE via la ligne de commande
PS2EXE offre deux façons de convertir les scripts PowerShell en EXE ; en ligne de commande et en GUI. Couvrons d’abord l’utilisation de la ligne de commande.
Pour convertir un seul script PowerShell en EXE via la ligne de commande, il suffit d’une seule ligne fournissant la commande principale PS2EXE (Invoke-PS2EXE
) suivie du chemin du script à convertir et du chemin de l’EXE que vous souhaitez créer.
Vous pouvez maintenant exécuter target.exe, et il invoquera le code défini dans le script source.ps1. Si vous n’avez pas utilisé le paramètre NoConsole
lors de la conversion de votre script, une console PowerShell apparaîtrait lors de l’exécution du fichier target.exe.
Masquer la console
Dans l’exemple précédent, lors de l’exécution de target.exe, une console PowerShell typique apparaîtra. La plupart du temps, vous ne voulez pas voir cela. Pour éviter cela, vous pouvez utiliser le paramètre NoConsole
lors de la création de l’EXE, comme indiqué ci-dessous.

Vous pouvez également choisir de compiler l’EXE pour l’exécution x86 ou x64 seulement et d’autres. Vous pouvez trouver une liste des paramètres disponibles sur la page de publication GitHub.
Conversion de PS1 en EXE via l’outil PS2EXE-GUI
Si vous n’aimez pas la ligne de commande, vous pouvez également utiliser une interface graphique avec le module PS2EXE. Créée un peu plus tard, la version GUI offre presque toutes les mêmes fonctionnalités que la version en ligne de commande.
Il vous suffit de quelques clics pour convertir un fichier PS1 en EXE avec la version GUI de PS2EXE. Et contrairement à la ligne de commande, vous pouvez parcourir et sélectionner le fichier source (PS1) à partir d’une boîte de dialogue de navigation dans un joli explorateur de fichiers.
Pour exécuter la version GUI, vous devez avoir .NET 4.x sur votre ordinateur. Si vous n’avez que .NET 3.5x, vous pouvez télécharger la version PS2EXE-GUI pour .NET 3.5x séparément.
En supposant que vous ayez déjà installé le module PowerShell PS2EXE ci-dessus, ouvrez l’explorateur de fichiers et accédez à l’un des dossiers de module PS2EXE ci-dessous, puis ouvrez le dossier représentant la version du module.
Windows 32 bits : C:\Program Files (x86)\WindowsPowerShell\Modules\ps2exe\<version>
Windows 64 bits : C:\Program Files\WindowsPowerShell\Modules\ps2exe\<version>
À l’intérieur de ces dossiers, vous trouverez un fichier appelé Win-PS2EXE.exe.
- Ouvrez l’utilitaire C:\Program Files\WindowsPowerShell\Modules\ps2exe\<version>\Win-PS2EXE.exe.
2. Cliquez sur les points de suspension juste à droite de la zone Fichier source pour localiser le script PS1 que vous souhaitez convertir.
3. Définissez la valeur pour le Fichier cible et assurez-vous d’inclure l’extension de fichier .exe.
4. Choisissez toutes les personnalisations de conversion que vous souhaitez ci-dessous. Il s’agit simplement d’une représentation graphique des paramètres que vous pouvez utiliser pour votre script, tout comme la version en ligne de commande.
5. Cliquez sur Compiler pour démarrer le processus de conversion.

6. Lorsque vous cliquez sur le bouton Compiler, PS2EXE ouvrira une session PowerShell et effectuera la conversion. Une fois terminé, appuyez sur Entrée ou fermez la fenêtre de la console.

À noter : Certains fichiers exécutables compilés avec PS2EXE peuvent être détectés comme des virus par votre logiciel antivirus. Si cela se produit, assurez-vous de signaler ces faux positifs à votre fournisseur antivirus.
PS1 to EXE
PS1 to EXE est une autre application de bureau gratuite développée par F2KO Software qui vous permet de convertir un fichier PS1 en un fichier EXE. Contrairement à PS2EXE, Ps1 to Exe est un outil GUI complet avec un éditeur de script simple.
Tout comme PS2EXE, Ps1 to Exe a également une version GUI et en ligne de commande. Cependant, au lieu de la console PowerShell, Ps1 to Exe vous demande d’exécuter les commandes à l’intérieur de l’invite de commande.
Malheureusement, bien que le site web de F2KO soit toujours actif, il semble qu’il n’y ait pas moyen de télécharger PS1 to EXE à partir de là. Heureusement, un installateur téléchargeable de cet outil circule sur Internet.
Passons en revue comment exécuter et utiliser PS1 to EXE pour créer un EXE à partir d’un script PowerShell.
Conversion de PS1 en EXE en utilisant l’interface graphique
Après avoir installé et lancé Ps1 to Exe, vous remarquerez que PS1 to EXE dispose d’un éditeur de script simple. À l’intérieur de cet éditeur de script, vous pouvez créer et enregistrer des scripts, puis cliquer sur un bouton pour les convertir.
Ps1 to Exe prend en charge le dot-sourcing ; remarquez comment un autre fichier PS1 a été appelé avec la ligne de commande ci-dessous.
Pour convertir un script en un fichier EXE avec PS1 to EXE :
- Ouvrez l’outil PS1 to EXE à partir de votre bureau.
2. Cliquez sur Fichier —> Ouvrir, recherchez le script que vous souhaitez convertir et ouvrez-le.
Une fois le script ouvert, configurez la façon dont vous souhaitez que l’EXE compilé s’exécute. Sur le côté droit de l’écran, vous verrez un panneau avec trois onglets à explorer. Chacun de ces onglets offre une option de configuration différente que vous pouvez choisir.

3. Pour ajouter des scripts dépendants, cliquez sur l’onglet Intégrer, puis cliquez sur Ajouter.
4. Lorsque vous êtes satisfait des options de conversion, cliquez sur le bouton Convertir dans la barre d’outils supérieure pour convertir le script en un fichier EXE.

Conversion de PS1 en EXE en utilisant la ligne de commande
Si vous préférez utiliser la ligne de commande, PS1 to EXE CLI est appelé ps1_to_exe.exe, mais son utilisation est un peu délicate.
Avec PS1 to EXE ouvert :
- Ouvrez une Invite de commandes en tant qu’administrateur
2. Modifiez le répertoire de travail pour qu’il corresponde au dossier d’installation de PS1 to EXE.
3. Exécutez maintenant ps1_to_exe pour convertir le script en un exécutable.
La commande ci-dessous inclut également un script dépendant dans le fichier EXE compilé et définit la plate-forme cible des fichiers exécutables sur un système d’exploitation Windows 64 bits.
Voici une démonstration du processus de conversion réel et des détails de sortie.

IExpress 2.0
Si vous préférez ne pas télécharger encore un autre outil, vous avez de la chance car vous disposez de l’utilitaire IExpress à l’ancienne. IExpress est une application Windows intégrée généralement utilisée pour empaqueter des fichiers ou créer des installateurs de logiciels.
Il se trouve simplement qu’IExpress peut également convertir des fichiers PS1 en EXE tout en compilant des fichiers de dépendance tous ensemble dans un seul fichier exécutable !
Pour convertir un simple script PowerShell en EXE :
- Vous devez ouvrir IExpress en tant qu’administrateur. Appuyez sur les touches Windows*+R* pour ouvrir la boîte de dialogue Exécuter, tapez iexpress puis appuyez sur la touche Ctrl+Shift+Entrée.

2. Sur la page d’accueil d’IExpress, sélectionnez Créer un nouveau fichier de directive d’auto-extraction et cliquez sur Suivant pour configurer votre package. Le fichier de directive d’auto-extraction (SED) contrôle les options utilisées lors de la création d’un package d’installation ; pensez-y comme un fichier de configuration.

3. Sélectionnez l’option Extraire les fichiers et exécuter une commande d’installation et cliquez sur Suivant. Si vous créez un programme d’installation de logiciel, cette option extrait les fichiers que vous inclurez dans le package. Cette option vous permet également d’écrire une commande personnalisée pour exécuter le script lorsque vous exécutez le fichier exécutable.

4. Fournissez maintenant un Titre du package et cliquez sur Suivant. Le titre du package apparaîtra sur toutes les invites que l’utilisateur verra lors de l’installation.
Le titre du package s’applique uniquement si vous créez un programme d’installation de logiciel. Dans ce cas, le titre n’a pas d’importance.

6. Ensuite, choisissez Aucune invite. Choisir Aucune invite n’affiche pas de boîte de dialogue inutile à l’utilisateur lorsqu’il exécute le fichier EXE.

6. Si vous créez le package pour un projet nécessitant un Contrat de Licence Utilisateur Final (CLUF), vous pouvez choisir d’ajouter une licence à afficher lors de l’exécution de l’EXE. Pour cette démonstration, cependant, choisissez l’option Ne pas afficher la licence et cliquez sur Suivant.

7. Cliquez maintenant sur Ajouter et recherchez tous les scripts que vous souhaitez inclure dans cet EXE. Assurez-vous d’inclure le script principal que vous avez l’intention d’appeler ainsi que tous les scripts dépendants et autres fichiers auxquels les scripts font référence.

8. Dans la fenêtre Programme d’installation à lancer, indiquez le chemin vers le moteur powershell.exe en utilisant le paramètre Fichier
. Assurez-vous également de définir le paramètre ExecutionPolicy
sur Bypass
pour garantir que les stratégies d’exécution préconfigurées ne bloquent pas l’exécution du script.

9. Ensuite, vous pouvez définir comment vous voulez que les fenêtres EXE se comportent lors de l’exécution. Si l’EXE est censé s’exécuter en arrière-plan, choisissez Caché et cliquez sur Suivant. Caché est le comportement de fenêtre le plus courant.

10. Puisque vous exécutez simplement un EXE en arrière-plan, il n’est pas nécessaire d’inclure un Message de fini. Sélectionnez Aucun message et Suivant.

11. Maintenant, sélectionnez le chemin vers l’EXE que vous souhaitez créer. Vous pouvez également activer quelques options différentes ici. Une fois terminé, cliquez sur Suivant.
- Masquer l’animation de progression de l’extraction de fichier à l’utilisateur – Si votre EXE s’exécute en arrière-plan, gardez cette option désactivée.
- Stocker les fichiers en utilisant un nom de fichier long à l’intérieur du package – Pour prendre en charge les noms de fichiers longs lors du processus d’extraction lors de l’exécution de l’EXE. L’option doit être laissée désactivée si vous exécutez le package sur Win 95 et que vous utiliserez un fichier INF lors de l’installation.

12. Si vous souhaitez que l’EXE invoque un redémarrage après l’exécution du script, vous pouvez sélectionner Toujours redémarrer ici. Après avoir sélectionné une option, cliquez sur Suivant.

13. Maintenant, sélectionnez Enregistrer le fichier de directive d’auto-extraction (SED) et cliquez sur Suivant. Enregistrer un fichier SED vous permet de modifier toutes les options que vous avez fournies tout au long de cet assistant ultérieurement. Le fichier SED contient les réponses à toutes les valeurs fournies jusqu’à présent.

14. Maintenant, tout ce qu’il reste à faire est de compiler le package. Cliquez sur Suivant, et vous verrez un journal des processus. Pour terminer la création du package, cliquez sur Terminer, et vous êtes prêt.
Exiger des privilèges d’administrateur
Si vous avez un script qui nécessite d’être exécuté en tant qu’administrateur, IExpress ne vous donne pas cette option, mais c’est toujours possible.
Avant d’exécuter IExpress, copiez le code ci-dessous et collez-le en haut de votre script. Cet extrait de code vérifie si le script est exécuté en tant qu’administrateur. Sinon, il se fermera et relancera automatiquement le script avec les privilèges d’administrateur.
N’oubliez pas que vous devez modifier le paramètre WindowStyle
sur l’écran Afficher la fenêtre en fonction de la façon dont vous voulez afficher ou masquer la fenêtre de l’EXE lorsque vous l’exécutez.
ISE Steroids
Si vous aimez écrire des scripts dans l’éditeur PowerShell ISE, cet outil convient à votre style. ISE Steroids est une extension de l’éditeur PowerShell ISE emballée sous forme de module PowerShell qui ajoute de nombreuses fonctionnalités à l’ISE.
ISE Steroids possède de nombreuses fonctionnalités, mais celle qui vous intéresse ici est sa capacité à convertir un script en un fichier EXE, alors creusons un peu plus.
- En supposant que vous avez déjà installé ISE Steroids, ouvrez PowerShell ISE.
2. Dans la console intégrée, exécutez Start-Steroids
pour lancer l’extension et charger Steroids.
3. Ouvrez ou écrivez un nouveau script dans la fenêtre de l’éditeur. Ce tutoriel utilisera ces fichiers.
4. Cliquez sur l’option Outils —> Transformer le code en EXE comme indiqué dans la capture d’écran ci-dessous.

5. Définissez maintenant toutes les options que vous souhaitez appliquer au fichier EXE résultant dans la petite fenêtre, comme celle ci-dessous. Ces options sont des paramètres, identiques à ceux de PS2EXE, pour configurer les propriétés et le comportement de votre fichier EXE.

6. Une fois que vous avez défini toutes les options, cliquez sur le bouton Créer une application. ISE Steroids vous demandera alors de sélectionner un chemin de destination. Après cela, vous avez terminé de convertir votre PS1 en EXE.
Visual Studio Code et PowerShell Pro Tools
Pour notre prochain éditeur, nous vous présentons Visual Studio Code (VS Code). VS Code est la solution recommandée par Microsoft pour remplacer PowerShell ISE et est très apprécié par de nombreux développeurs PowerShell.
Bien que VS Code n’ait pas de moyen natif de convertir les scripts PowerShell en EXE, vous pouvez toujours le faire avec l’extension PowerShell Pro Tools. En plus de convertir les scripts en EXE, l’extension PowerShell Pro Tools vous aide à empaqueter les scripts, inclut un concepteur GUI, et plus encore.
PowerShell Pro Tools nécessite à la fois le Pack de développement .NET 4.6.2 (ou ultérieur) et le .NET Core 1.0 ou ultérieur pour empaqueter les scripts.
Vous utilisez les scripts Get-LatestAppLog3.ps1 et AppLogsComplete.ps1 pour cette démonstration.
En supposant que vous avez VS Code et l’extension PowerShell Pro Tools installés :
- Ouvrez VS Code et un script PowerShell à convertir en EXE.
2. Dans le coin supérieur droit de VS Code, cliquez sur le bouton Emballer le script en tant qu’Exe comme indiqué ci-dessous.

3. Lorsque vous créez un EXE à partir d’un script pour la première fois, PowerShell Pro Tools créera un fichier package.psd1 dans la racine de l’espace de travail actuel.

4. À l’intérieur du fichier package.psd1, le chemin exact du script à convertir est automatiquement renseigné pour la clé Root. Définissez la clé Chemin de sortie pour spécifier le chemin où enregistrer l’EXE, comme indiqué ci-dessous.

5. Lorsque vous créez un EXE à partir d’un script, vous remarquerez divers messages journaux dans le volet de Sortie en bas de l’écran. Si des erreurs surviennent lors de la compilation du script, elles seront affichées ici.

Compilation d’autres scripts dans le même EXE
Si vous avez des scripts dépendants appelés dans votre script principal, l’extension PowerShell Pro Tools peut également s’occuper de ceux-ci. Pour ce faire, PowerShell Pro Tools vous demande de dot-source tous les scripts que vous souhaitez inclure avec l’EXE.
Le script Get-LatestAppLog3.ps1 ci-dessous est le script principal à compiler. À l’intérieur, il exécute le script AppLogsComplete.ps1. Pour que PowerShell Pro Tools inclue le fichier dépendant AppLogsComplete.ps1, vous devez dot sourcer le script ou l’intégrer dans la portée du script actuel.

Une fois que vous avez sourcé tous les scripts dépendants, cliquez à nouveau sur le Package Script as Exe pour commencer à convertir vos scripts en fichier exécutable.
PowerGUI
PowerGUI était l’un des éditeurs de scripts PowerShell originaux. Bien qu’il semble avoir été oublié depuis longtemps, vous pouvez encore trouver des copies qui traînent sur le web. Pourquoi parler d’un éditeur de scripts PowerShell depuis longtemps oublié ? Parce qu’il possède un convertisseur intégré de PS1 en EXE!
Bien que le site web de PowerGUI n’existe plus, vous pouvez toujours trouver une copie sur des sites comme Softpedia.
Compilation du script PS1 en un EXE
Après avoir installé PowerGUI, lancez-le, et vous arriverez à voir une page de démarrage. Pour commencer à compiler vos scripts, vous pouvez soit créer un nouveau script, soit ouvrir un script existant dans la barre d’outils, comme indiqué dans la capture d’écran ci-dessous.

Une fois satisfait de votre script, cliquez sur le menu Outils. Ensuite, choisissez Compiler le script ou appuyez sur Ctrl+F9 sur votre clavier.

Maintenant, configurez comment vous souhaitez que l’EXE s’exécute après la conversion. La fenêtre Compiler le script, comme indiqué ci-dessous, propose différentes options que vous pouvez choisir pour le comportement de l’EXE.
- Cliquez sur le bouton Parcourir et localisez votre PS1 que vous souhaitez convertir.
2. PowerGUI prend en charge le Framework cible de Microsoft .NET Framework 3.5 à .NET Framework 4.0.
3. Si vous souhaitez uniquement exécuter l’EXE en arrière-plan, désactivez l’option Afficher la fenêtre de la console PowerShell lorsque le script est exécuté.
4. Vous pouvez également cliquer sur le bouton Dépendances (en bas à gauche) si vous avez d’autres fichiers à inclure. Généralement, ce sont d’autres scripts PowerShell dont votre script dépend.
5. Une fois satisfait de la configuration, cliquez sur OK pour commencer la conversion de votre PS1 en EXE.

À noter, vous remarquerez un inconvénient avec PowerGUI en termes de contrôle sur la manière dont vous souhaitez que l’EXE s’exécute. PowerGUI ne propose pas beaucoup d’options, telles que l’ajout de paramètres.
PowerGUI ne vous offre pas non plus la possibilité d’intégrer des informations telles que le droit d’auteur, la version et la description, contrairement à d’autres générateurs de PS1 vers EXE. Mais si cela ne vous dérange pas trop, alors PowerGUI est une bonne trouvaille à conserver.
PowerShell Studio
Pour conclure notre liste des convertisseurs de PS1 en EXE, terminons avec l’un des environnements de développement intégrés PowerShell les plus riches en fonctionnalités, PowerShell Studio de Sapien Technologies. Construit exclusivement comme un IDE PowerShell, il serait injuste envers PowerShell Studio de ne démontrer que sa capacité à convertir des PS1 en EXE. Cependant, nous avons un espace limité !
Tout comme PowerShell Pro Tools dans Visual Studio Code, PowerShell Studio a également des exigences strictes pour l’emballage des scripts; telles que .NET Framework 4.8, .NET 5 pour PowerShell 7 et Visual Studio 2015-2019 Runtime
Supposons que vous ayez PowerShell Studio installé, ouvrez PowerShell Studio et créez ou ouvrez un script PowerShell existant. Ce tutoriel utilisera le script Get-LatestAppLog3.ps1.
Navigation des paramètres
Avant de convertir un script dans PowerShell Studio, vous devriez d’abord apprendre la pléthore de façons dont vous pouvez modifier le comportement du fichier EXE résultant.
Cliquez sur le bouton Package dans le coin supérieur droit de la fenêtre, et choisissez Settings. Cela ouvre la fenêtre Script Packager, où vous pouvez définir toutes les options disponibles.

Chaque option dans le Script Packager joue un rôle important dans la manière dont vous souhaitez que le fichier EXE final soit généré. Ces options sont démontrées dans les sections suivantes avec des captures d’écran.
Moteur de script
La section Moteur de script se concentre sur la plateforme cible et le moteur de script pour compiler votre fichier exécutable.
Commencez par sélectionner votre Cible. Vous pouvez choisir soit une version 32 bits, soit une version 64 bits de Windows, ou vous pouvez choisir les deux pour plus de flexibilité. PowerShell Studio créera un fichier EXE pour chaque plateforme que vous choisissez ici.

Paramètres de sortie
Cette section contient des options pour configurer la manière dont le fichier EXE sera généré après la compilation.
- Fichier de sortie – Le nom du fichier EXE résultant.
Ne pas inclure d’extension de fichier (.exe) car elle sera automatiquement définie pour vous dans le champ.
- Dossier de sortie – L’endroit où PowerShell Studio enregistrera le fichier exécutable.
- Résoudre et inclure les scripts externes – Assurez-vous que cette option est cochée si vous avez des scripts dépendants dans votre script principal. Si vous ne l’activez pas, les scripts externes seront ignorés lors de la compilation de votre fichier exécutable.
Assurez-vous toujours que tous les scripts dépendants se trouvent dans le même dossier que le script principal.
- Signature – Un endroit où vous pouvez rechercher un certificat pour signer le fichier EXE ainsi que le mot de passe du certificat (s’il en a un).

Fichiers d’icônes
Une icône vous aide à distinguer les applications les unes des autres, et la section Fichiers d’icônes vous donne la possibilité d’ajouter une icône pour votre fichier exécutable.
Pour ajouter un fichier d’icône, cliquez sur le bouton Ajouter un fichier ou faites simplement glisser-déposer le fichier d’icône dans la section Fichiers d’icônes.

Restrictions
Dans la section Restrictions, vous pouvez inclure ou exclure des critères pour permettre l’exécution d’EXE.
Le fait de cocher un Système d’exploitation dans ce champ garantira que l’EXE résultant s’exécutera uniquement sur cet système d’exploitation. De même, vous pouvez définir des critères tels qu’un utilisateur spécifique doit être connecté, l’ordinateur doit avoir une certaine adresse MAC, et plus encore.
Comme vous pouvez le voir ci-dessous, vous avez un contrôle total sur le moment où l’EXE résultant s’exécute.

Informations sur la version
Lorsque PowerShell Studio crée un EXE, cet EXE a divers attributs de fichier. Dans la section Informations sur la version, vous pouvez définir l’apparence de ces attributs.
Ici, vous pouvez définir des attributs tels que la version du fichier, la version du produit, les droits d’auteur, et ainsi de suite. Vous pouvez voir tous les attributs disponibles ci-dessous.

Options de construction
Enfin, vous trouverez une section Options de construction. Dans cette section, vous pouvez ajouter des commandes personnalisées de pré-construction ou de post-construction à exécuter. Cette option exécutera des commandes PowerShell avant ou après la compilation du script en un fichier exécutable.
Disons que vous voulez exécuter un code juste après que PowerShell Studio ait fini de créer l’EXE. Pour ce faire, cliquez sur le bouton Nouveau (Insérer) dans la boîte Commandes post-construction. Les commandes de pré-construction et de post-construction acceptent directement les commandes PowerShell.
Alternativement, vous pouvez cliquer sur le bouton Ajouter un fichier (points de suspension) et sélectionner une autre application ou script PowerShell à exécuter.

Après avoir tout configuré, cliquez sur OK pour empaqueter le script dans un exécutable. L’emplacement du fichier s’ouvrira automatiquement pour que vous puissiez vérifier le fichier exécutable.
Prise en compte des dépendances externes des scripts PowerShell
A PowerShell script sometimes isn’t a self-contained unit. A script can also call other scripts. When converting to an EXE, some of the tools discussed here do not automatically find these dependent scripts and compile them.
Lorsqu’un script contient une référence à un autre script et que ce dernier est converti en EXE, le chemin peut changer. Dans ce cas, le code PowerShell à l’intérieur de l’EXE ne peut pas trouver le script dépendant, ce qui entraîne un échec.
Peut-être avez-vous un script que vous souhaitez convertir et qui appelle d’autres scripts dans le même dossier. Lorsque vous exécutez le script via la console PowerShell, il peut trouver ces scripts car ils sont tous dans le même répertoire de travail. Lorsque vous convertissez un script en EXE, cela peut ne plus fonctionner.
Si vous avez l’intention de convertir un PS1 en EXE et que ce script appelle d’autres scripts dans le même répertoire, ajoutez le code suivant en haut de votre script.
Ce code résout le chemin d’un script externe que vous exécutez à partir du script principal tant qu’ils sont tous les deux dans le même répertoire.
Comparaison des fonctionnalités
Si vous n’avez pas encore décidé comment créer un EXE à partir d’un script PowerShell, jetez un œil au tableau ci-dessous. Ce tableau fournit une vue d’ensemble des fonctionnalités de chaque outil pour vous aider à décider quel outil choisir comme convertisseur de PS1 en EXE.
