Konvertieren Sie die PowerShell-Datei in eine ausführbare Datei

Konvertieren Sie die PowerShell-Datei in eine ausführbare Datei

Wir können PowerShell-Skripte (PS1) auf viele verschiedene Arten aufrufen, aber sie alle haben einen Nachteil, wir können sie nicht einfach wie ein standardmäßiges ausführbares Windows-Programm (EXE) ausführen. Wir möchten verhindern, dass der Code in einem Skript bearbeitet wird, oder es unseren Benutzern erleichtern, Skripte auszuführen.

Es ist also an der Zeit zu lernen, wie man eine PS1 in eine EXE umwandelt. In diesem Artikel wird die Verwendung des Moduls PS1 zum EXE-Modul und die ordnungsgemäße Konvertierung von PowerShell-Dateien in ausführbare Dateien erläutert.

Verwenden Sie das Dienstprogramm PSEXE, um PS1 in EXE in PowerShell zu konvertieren

PS2EXE ist ein kostenloses Open-Source-Windows PowerShell-Modul, das das PowerShell-Skript nicht in eine andere Sprache konvertiert.

Stattdessen kapselt es das PowerShell-Skript mit einem leichtgewichtigen PowerShell-Host, der in der Sprache C# geschrieben ist, und kompiliert den dynamisch generierten C#-Code im Arbeitsspeicher in eine ausführbare Datei.

Installieren Sie das PSEXE-Modul in PowerShell

Da PS2EXE das Modul verwendet, um unser Skript in eine ausführbare Datei umzuwandeln, müssen wir es aus der PowerShell-Galerie installieren. Befolgen Sie die Anweisungen zur Installation des Utility-Moduls PS2EXE.

  1. Öffnen Sie als Administrator eine PowerShell-Konsole.

  2. Führen Sie das Cmdlet Install-Module aus, um das Modul aus der PowerShell-Galerie herunterzuladen und zu installieren.

    Install-Module ps2exe
    
  3. Geben Sie Y ein und drücken Sie Enter, sobald wir die Eingabeaufforderung über ein nicht vertrauenswürdiges Repository sehen. Mach dir keine Sorge; Diese Meldung ist harmlos.

    Untrusted repository
    You are importing the modules from an untrusted location. If you trust this location, change its InstallationPolicy by running the Set-PSRepository command. Are you certain you want to install the modules from the 'PSGallery'?
     [Y] Yes [N] No  [?] Help (default is "N"): Y
    

Konvertieren Sie PS1 in EXE mit PowerShell

Das Konvertieren eines einzelnen Windows PowerShell-Skripts in eine ausführbare Datei über die Befehlszeile erfordert eine einzige Zeile mit dem Hauptbefehl PS2EXE (Invoke-PS2EXE). Auf den Befehl folgt dann der Pfad des zu konvertierenden Skripts und der Pfad zu der ausführbaren Datei, die wir erstellen möchten.

## Use the cmdlet
Invoke-PS2EXE .\test.ps1 .\sample.exe

## Using the alias
ps2exe .\test.ps1 .\sample.exe

Wir können jetzt sample.exe ausführen, was den im source.ps1-Skript definierten Code aufruft. Wenn wir bei der Konvertierung unseres Skripts den Parameter NoConsole nicht verwendet hätten, würde beim Ausführen der Datei sample.exe eine PowerShell-Konsole erscheinen.

Blenden Sie die Konsole aus

Im vorherigen Beispiel erscheint beim Ausführen von sample.exe eine typische PowerShell-Konsole. Meistens wollen wir das nicht sehen.

Um dies zu verhindern, können wir den Parameter NoConsole beim Erstellen der EXE verwenden.

Invoke-ps2exe "D:\PS\Script.ps1" "D:\PS\Sample.exe" -noConsole
Marion Paul Kenneth Mendoza avatar Marion Paul Kenneth Mendoza avatar

Marion specializes in anything Microsoft-related and always tries to work and apply code in an IT infrastructure.

LinkedIn

Verwandter Artikel - PowerShell Script