Compiler un script PowerShell avec PS2EXE 1

Compiler un script PowerShell avec PS2EXE

J’utilise au quotidien le langage PowerShell pour gérer des serveurs Windows. Ce langage est à la fois souple et efficace dans cet environnement.

Une des raisons principales que je puisse voir à la transformation d’un script interprété écrit en POWERSHELL en un fichier exécutable, c’est d’en éviter la modification par un utilisateur « inexpérimenté » ou malveillant.

En fait, il n’existe pas de « compilateur » pour PowerShell ni même de convertisseur vers des langages qui soient ensuite convertibles en binaires.

Toutefois, sur http://ps2exe.codeplex.com/, j’ai trouvé un petit script qui encapsule un petit client PowerShell écrit en C# et le script à exécuter. Le résultat est un petit EXE qui décrypte le code en mémoire avant d’en lancer l’exécution.

Bien évidemment, l’interpréteur PowerShell et le .NET framework v2.0 doivent être installés sur l’hôte d’exécution.

Le contenu du script n’apparait pas en clair dans l’exécutable.

Compiler un script PowerShell avec PS2EXE 2

Le code PS2EXEC contient même un petit BAT de démo : createdemo.bat

call “callPS2EXE.bat” “test.ps1” “test.exe”

pause

Createdemo.bat va transformer le script « test.ps1 » en test.exe.

Voici le résultat de l’exécution de ce script (dans http://powergui.org).

Compiler un script PowerShell avec PS2EXE 3

Voici le résultat de la séquence de compilation de ce script.

Compiler un script PowerShell avec PS2EXE 4

Voici le résultat de l’exécution de test.exe

Compiler un script PowerShell avec PS2EXE 5

A propos Olivier Olejniczak

Cofondateur de SynerGeek.fr. Passionné d'informatique, je m'intéresse plus particulièrement aux technologies de virtualisation et de stockage. J'apprécie la liberté et la quasi-absence de frontières à mon imagination qu'offre l'OpenSource et Linux. Professionnellement, je travaille exclusivement avec les outils Microsoft. Les pieds bien sur terre et ancrés dans le quotidien de l'entreprise, j'aime faire partager mes découvertes et contribuer à un meilleur usage des technologies. Vous aussi, rejoignez-nous sur Synergeek et partagez votre expérience!

Je vous propose également...

Supprimer une boite partagée avec outlook 2010 ou 2013 (environnement Exchange) 6

Supprimer une boite partagée avec outlook 2010 ou 2013 (environnement Exchange)

Après avoir fait une délégation de boîte aux lettres sur le serveur Exchange avec Accès …

Memento - Centos revenir en arrière après un yum update 7

Memento – Centos revenir en arrière après un yum update

Depuis quelques mois, j’utilise un serveur dédié chez EvxOnline, un très bon hébergeur et très …

1 commentaire

  1. Après avoir utilisé PS2EXE, je préfère très largement Ps1 To Exe.