Powershell - ps1 in ein exe umwandel mit integrieten Modulen
Guten Aben Miteinander
Ich habe für mich ein kleines Skript geschrieben, welches mehrere Module benötigt.
Diese Module importiere ich im Powershell mit dem Befehl import-Module, dies funktioniert soweit auch.
Ich möchte jetzt das Skript mit allen Zusatzmodulen und Dateien in ein exe umwandel, damit ich nur noch drei Dateien habe: exe, exe.conf, ini, welche ich verteilen muss.
Also die Module sollen danach im exe vorhanden sein.
Ich habe schon Google befragt, dort steht auch einiges wie man eine exe umwandelt, allerdings nie wie man Module einbindet.
Kann Jemand von euch mir weiterhelfen?
Danke für die Hilfe und schönen Abenden
Freundliche Grüsse
Simon Brexel
Ich habe für mich ein kleines Skript geschrieben, welches mehrere Module benötigt.
Diese Module importiere ich im Powershell mit dem Befehl import-Module, dies funktioniert soweit auch.
Ich möchte jetzt das Skript mit allen Zusatzmodulen und Dateien in ein exe umwandel, damit ich nur noch drei Dateien habe: exe, exe.conf, ini, welche ich verteilen muss.
Also die Module sollen danach im exe vorhanden sein.
Ich habe schon Google befragt, dort steht auch einiges wie man eine exe umwandelt, allerdings nie wie man Module einbindet.
Kann Jemand von euch mir weiterhelfen?
Danke für die Hilfe und schönen Abenden
Freundliche Grüsse
Simon Brexel
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 316443
Url: https://administrator.de/forum/powershell-ps1-in-ein-exe-umwandel-mit-integrieten-modulen-316443.html
Ausgedruckt am: 23.04.2025 um 02:04 Uhr
8 Kommentare
Neuester Kommentar
Moin,
ich verstehe solche Fragen einfach nicht. Wenn das dein Ziel gewesen ist, warum hast du es dann nicht gleich richtig umgesetzt?
exemplarisch:
Argumente wie das muss doch aber trotzdem irgendwie gehen ziehen hierbei nicht. Das Resultat wird Gefrickel.
Gruß Krämer
ich verstehe solche Fragen einfach nicht. Wenn das dein Ziel gewesen ist, warum hast du es dann nicht gleich richtig umgesetzt?
Zitat von Wikipedia:
Die PowerShell (powershell.exe), zeitweise auch bekannt unter den Codenamen Monad und Microsoft Command Shell (MSH), ist ein Kommandozeileninterpreter von Microsoft.
Die PowerShell (powershell.exe), zeitweise auch bekannt unter den Codenamen Monad und Microsoft Command Shell (MSH), ist ein Kommandozeileninterpreter von Microsoft.
exemplarisch:
Zitat von Wikipedia:
Visual Basic .NET (Abk. VB.NET) ist eine Programmiersprache, die auf dem Microsoft .NET Framework aufbaut.
Visual Basic .NET (Abk. VB.NET) ist eine Programmiersprache, die auf dem Microsoft .NET Framework aufbaut.
Argumente wie das muss doch aber trotzdem irgendwie gehen ziehen hierbei nicht. Das Resultat wird Gefrickel.
Gruß Krämer

Module sind auch nur Powershell-Code, kopier dir die benötigten CMDLets aus den Modul-Codes einfach in dein Skript dann brauchst du die Module nicht mehr. Das meiste lässt sich sowieso ohne irgendwelche Zusätze mit Powershell und den NET Objekten selber machen.
R.
R.
Moin,
nicht wirklich. Die "Lösungen", über die ich bisher gestolpert bin, sind alles samt sog. Wrapper - also nichts anderes wie eine Windows-Verknüpfung mit dem Sourcecode als Startparameter im Exeformat. Heißt also: Im Endeffekt wird dein Script nur in der Powershell ausgeführt. Wenn dein Script also auf irgendwelche Ressourcen zugreift, dann müssen diese auch auf dem Rechner, auf dem die "exe" ausgeführt wird, vorhanden sein.
Gruß Krämer
nicht wirklich. Die "Lösungen", über die ich bisher gestolpert bin, sind alles samt sog. Wrapper - also nichts anderes wie eine Windows-Verknüpfung mit dem Sourcecode als Startparameter im Exeformat. Heißt also: Im Endeffekt wird dein Script nur in der Powershell ausgeführt. Wenn dein Script also auf irgendwelche Ressourcen zugreift, dann müssen diese auch auf dem Rechner, auf dem die "exe" ausgeführt wird, vorhanden sein.
Gruß Krämer

Es ist leider nicht möglich meine Funktionen mit .NET Objekten umzusetzen.
Doch
Hi!
In Powershell hast du keine Möglichkeiten das zu machen.
Du kannst aber in Visual Studio ein C# Konsolen-Projekt anlegen und deinen PS-Code dort ausführen:
https://docs.microsoft.com/en-us/powershell/scripting/developer/hosting/ ...
Auf alle benötigten Dll's in C# einen Verweis hinzufügen, deinen PS Code die verwiesenen Dll's verwenden lassen, die Extension Fody ins Projekt hinzufügen und Builden.
Fody wrappt dir alle Dll's in deine Exe. Leider funktioniert das aber nicht bei allen gleich gut.
Grüße!
In Powershell hast du keine Möglichkeiten das zu machen.
Du kannst aber in Visual Studio ein C# Konsolen-Projekt anlegen und deinen PS-Code dort ausführen:
https://docs.microsoft.com/en-us/powershell/scripting/developer/hosting/ ...
Auf alle benötigten Dll's in C# einen Verweis hinzufügen, deinen PS Code die verwiesenen Dll's verwenden lassen, die Extension Fody ins Projekt hinzufügen und Builden.
Fody wrappt dir alle Dll's in deine Exe. Leider funktioniert das aber nicht bei allen gleich gut.
Grüße!