MAIN MENU
Devolutions Blog

Ankündigungen, Aktualisierungen und Einsichten von Devolutions

Devolutions PowerShell Universal running Python scripts illustration for the blog.

PowerShell Universal 4.2: Python-Skripte in Minimal-Umgebungen ausführen

PowerShell Universal 4.2 ergänzt Minimal-Umgebungen, damit Sie Python direkt ausführen, den zwischengeschalteten PowerShell-Prozess überspringen und dasselbe {scriptPath}-Muster für andere Kommandozeilen-Engines nutzen können.

PowerShell Universal war historisch eine reine PowerShell-Plattform. Mit der Veröffentlichung von PowerShell Universal 4.2 fügen wir die Möglichkeit hinzu, Python-Skripte auszuführen. Dieser Beitrag zeigt, wie das mit einem 4.2-Nightly-Build funktioniert.

Diese Funktion wird im November als Teil von PowerShell Universal 4.2 ausgeliefert.

Minimal-Umgebungen

PowerShell Universal 4.2 führt eine neue Umgebungseinstellung namens Minimal ein. Minimal-Umgebungen versuchen nicht, Universal-Assemblys zu laden oder eine gRPC-Verbindung zwischen Kindprozess und Elternprozess herzustellen. So kann PowerShell Universal in Umgebungen laufen, die nicht auf .NET basieren. Minimal-Umgebungen nutzen STDOUT und STDERR, um die Ausgabe des in der Umgebung gestarteten Prozesses zu erfassen. Das hilft auch bei PowerShell-Skripten, die Module laden, die mit Universal-Assemblys kollidieren.

Python-Umgebung

Um eine Python-Umgebung einzurichten, erstellen Sie zuerst eine neue Umgebung und setzen den Pfad auf python.exe. Python muss auf dem Rechner installiert sein. Setzen Sie anschließend die Befehlszeile auf {scriptPath}. Dieser Wert wird zur Laufzeit auf den Pfad des ausgeführten Skripts erweitert und übergeben.

PowerShell Universal environment form with python.exe path and scriptPath command line.
Pfad und Befehlszeile der Python-Umgebung in PowerShell Universal

Python-Skripte ließen sich in früheren Versionen von PowerShell Universal bereits technisch ausführen. Dieser neue Umgebungstyp startet Python jedoch direkt, ohne einen zwischengeschalteten PowerShell-Prozess, der dann Python aufruft. Dadurch starten diese Jobs deutlich schneller.

Python-Skripte ausführen

Erstellen Sie anschließend ein Skript mit der Erweiterung .py. Wir haben die Admin-Konsole aktualisiert, damit Python-Skripte korrekt erkannt und mit Syntaxhervorhebung angezeigt werden. Klicken Sie schließlich auf Run und wählen Sie Ihre Python-Umgebung.

PowerShell Universal job output after running a Python script in a minimal environment.
Python-Skriptausgabe in der PowerShell Universal Admin-Konsole

Wie geht es weiter mit Minimal-Umgebungen und der Python-Integration?

Minimal-Umgebungen lassen Sie jeden gewünschten Prozess über die Skriptausführungs-Engine starten und den Skriptpfad als Argument übergeben. Weil wir das Makro {scriptPath} ersetzen, können Sie weitere Argumente ergänzen. Das ist auch für andere Skriptsprachen nützlich, etwa bash unter Linux. Minimal-Umgebungen funktionieren nicht mit APIs, Apps oder Terminals. Diese Funktionen erfordern eine gRPC-Implementierung, die in diesen anderen Sprachen und Engines nicht verfügbar ist. Wir hoffen, unsere gRPC-Proto-Dateien im Zeitrahmen der v5-Version bereitzustellen. Damit ließen sich Clients in jeder Sprache erzeugen, in der gRPC und protobuf unterstützt werden.

Bereit zum Bauen? PowerShell Universal herunterladen.