Question Script .ps1 en .exe

Plus d'informations
il y a 17 ans 2 mois #3699 par Thievery
Script .ps1 en .exe a été créé par Thievery
Bonjour,

J'ai créé un script powershell avec une interface graphique, et cette interface me permet de genérer des logins utilisateurs et ensuite de remplir mon annuaire Active Directory, de créer les répertoires profils etc.

Je vais à terme étoffer cette interface pour faciliter l'administration de mon domaine.

J'aimerai savoir s'il est possible de générer un exécutable à partir d'un script powershell.

Merci ;)

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 17 ans 2 mois #3701 par Laurent Dardenne
Réponse de Laurent Dardenne sur le sujet Re:Script .ps1 en .exe
Thievery écrit:

J'aimerai savoir s'il est possible de générer un exécutable à partir d'un script powershell.

Non mais il est possible de faire du hosting d'application, c'est à dire intégrer la mécanique de PS dans un exécutable codé avec un langage .net de type C# ou VB.

Tutoriels PowerShell

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 17 ans 2 mois #3704 par Jacques Barathon
Réponse de Jacques Barathon sur le sujet Re:Script .ps1 en .exe
En l'occurrence, le hosting oblige quand même à a) écrire un minimum de code C# ou VB.Net et b) avoir PowerShell d'installé sur le poste qui exécute l'application. A moins de réécrire tout le script en C# ou en VB.Net, ce qui t'éloigne encore plus de la solution envisagée.

Donc, si le besoin est de générer directement un exécutable à partir d'un script, la réponse est clairement non. Et à ma connaissance rien n'est prévu (en tout cas chez Microsoft) pour couvrir ce scénario.

Janel

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 17 ans 2 mois #3705 par Laurent Dardenne
Réponse de Laurent Dardenne sur le sujet Re:Script .ps1 en .exe
janel écrit:

A moins de réécrire tout le script en C# ou en VB.Net

pas sûr si on procéde de la manière suivante .
janel écrit:

Donc, si le besoin est de générer directement un exécutable à partir d'un script, la réponse est clairement non.

On peut peut-être envisager le problème sous un autre angle a savoir celui \"d'un chargeur\".
On encapsule le runtime dans un exécutable qui lance un script lui-même placé dans une ressource concaténé à l'exécutable, selon ce principe en 4.1. Si j'ai le temps je vais creuser l'idée.

Ensuite il faut connaitre l'objectif de cette opération ? Faciliter le déploiement, éviter la modification du script, ...

Tutoriels PowerShell

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 17 ans 2 mois #3710 par Thievery
Réponse de Thievery sur le sujet Re:Script .ps1 en .exe
En fait j'ai créé un script PowerShell pour faciliter notre administration de domaine Active Directory.

J'ai utilisé PrimalForms pour obtenir une interface graphique et j'ai placé mes différents scripts PowerShell.

Je souhaiterai que mon interface s'exécute directement (on peut considérer que c'est une petite application qui regroupe un ensemble de scripts PowerShell). Or actuellement il est nécessaire d'avoir PowerShell d'installer sur la machine qui lance le programme.

Pour le moment j'ai placé mon script sur notre serveur de fichier et j'ai créé un petit .cmd dans lequel il y a simplement : powershell.exe ./src/monscript.ps1

Ce n'est pas très \"propre\" à mon sens, mon interface graphique se lance bien mais j'ai une petite fenêtre DOS/PowerShell qui s'ouvre en fond ... mais bon, vous allez dire que je pinaille !

Je vais aller lire les différents lien présenté par Laurent et tenter de tout comprendre :)

Merci en tous les cas ;)

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 17 ans 2 mois #3712 par Jacques Barathon
Réponse de Jacques Barathon sur le sujet Re:Script .ps1 en .exe
Je n'ai pas tout lu de ce que Laurent nous a fourni comme pointeurs, mais à priori je n'y vois rien qui permette d'échapper au fait que si une application héberge du code PowerShell, il faut que PowerShell soit installé sur la machine. D'ailleurs, comme le dit Laurent lui-même dans l'autre discussion, c'est exactement comme si l'application remplaçait la console PowerShell. Or, pour avoir la console PowerShell il faut bien avoir installé PowerShell.

Sinon, pour répondre à ton besoin d'interface de gestion centralisée, il devrait être possible d'utiliser la v2 et sa capacité à être hébergée par une appli IIS. Je n'ai pas testé ce scénario et je ne suis pas sûr à 100% qu'il marche dans ton cas, mais à priori ça le ferait. L'idée, c'est que tu mettes en ligne des pages ASP.NET qui font appel aux scripts PowerShell sur le serveur, comme on pourrait faire appel à des scripts Python, Perl ou autres. Pas besoin, donc, d'avoir PowerShell d'installé sur les postes qui font appel à l'application.

Il faudrait lire les docs de la v2 CTP pour voir s'il y a plus de détails sur ce scénario. A moins que quelq'un ait déjà testé?

Janel

Connexion ou Créer un compte pour participer à la conversation.

Temps de génération de la page : 0.102 secondes
Propulsé par Kunena