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.
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.
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.

Adam Driscoll