MAIN MENU
Le blogue Devolutions

Annonces, mises à jour et analyses de Devolutions

Devolutions PowerShell Universal running Python scripts illustration for the blog.

PowerShell Universal 4.2 : exécuter des scripts Python dans des environnements Minimal

PowerShell Universal 4.2 ajoute les environnements Minimal pour exécuter Python directement, sans processus PowerShell intermédiaire, et réutiliser le même modèle {scriptPath} pour d’autres moteurs en ligne de commande.

PowerShell Universal a historiquement été une plateforme réservée à PowerShell. Avec la version 4.2 de PowerShell Universal, nous ajoutons la possibilité d’exécuter des scripts Python. Cet article explique comment le faire avec une compilation nightly 4.2.

Cette fonctionnalité sera livrée en novembre dans PowerShell Universal 4.2.

Environnements Minimal

PowerShell Universal 4.2 introduit un nouveau paramètre d’environnement appelé Minimal. Les environnements Minimal n’essaient pas de charger les assemblages Universal ni d’établir une connexion gRPC entre le processus enfant et le processus parent. Cela permet à PowerShell Universal de s’exécuter dans des environnements qui ne sont pas basés sur .NET. Les environnements Minimal s’appuient sur STDOUT et STDERR pour collecter la sortie du processus lancé dans l’environnement. C’est aussi utile pour les scripts PowerShell qui chargent des modules en conflit avec les assemblages Universal.

Environnement Python

Pour configurer un environnement Python, créez d’abord un nouvel environnement et définissez le chemin vers python.exe. Python doit être installé sur la machine. Ensuite, définissez la ligne de commande à {scriptPath}. Cette valeur est développée au chemin du script exécuté et passée à l’exécution.

PowerShell Universal environment form with python.exe path and scriptPath command line.
Chemin et ligne de commande de l’environnement Python dans PowerShell Universal

Il était déjà techniquement possible d’exécuter des scripts Python dans les versions précédentes de PowerShell Universal, mais ce nouveau type d’environnement exécute Python directement, sans démarrer un processus PowerShell intermédiaire qui lance ensuite Python. Le temps de démarrage de ces tâches est donc nettement plus court.

Exécuter des scripts Python

Ensuite, créez un script avec une extension .py. Nous avons mis à jour la console d’administration pour reconnaître correctement les scripts Python et leur appliquer la coloration syntaxique. Enfin, cliquez sur Run et sélectionnez votre environnement Python.

PowerShell Universal job output after running a Python script in a minimal environment.
Sortie d’un script Python dans la console d’administration de PowerShell Universal

Et ensuite pour les environnements Minimal et l’intégration Python?

Les environnements Minimal permettent d’exécuter le processus de votre choix depuis le moteur d’exécution de scripts et de passer le chemin du script en argument. Comme nous remplaçons la macro {scriptPath}, vous pouvez aussi inclure d’autres arguments. C’est utile pour d’autres langages de script, comme bash sous Linux. Les environnements Minimal ne fonctionnent pas avec les API, les Apps ni les Terminals. Ces fonctions exigent une implémentation gRPC qui n’est pas disponible dans ces autres langages et moteurs. Nous espérons publier nos fichiers proto gRPC dans le créneau de la version v5. Cela permettrait de générer des clients dans tout langage où gRPC et protobuf sont pris en charge.

Prêt à construire? Téléchargez PowerShell Universal.