For the complete documentation index, see llms.txt. This page is also available as Markdown.

Scripts

Scripts PowerShell à exécuter dans PowerShell Universal.

Vous pouvez créer des scripts PowerShell dans PowerShell Universal pour les exécuter manuellement, selon un calendrier ou lorsque des événements se produisent dans la plateforme. Ils sont stockés sur disque et persistent dans un référentiel Git local ou distant.

Le fichier de configuration scripts.ps1 stocke les propriétés des scripts.

Ajouter un nouveau script

Pour ajouter un nouveau script, cliquez sur le bouton Nouveau script dans la page Automation / Scripts. Plusieurs paramètres sont disponibles pour le script.

Boîte de dialogue Nouveau script

Options du script

Nom

Il s'agit du nom du script tel qu'il apparaît dans Universal Automation. C'est également le nom utilisé pour conserver le script sur disque. Le nom doit être unique dans le dossier courant.

Module et commande

Voir Modules et commandes ci-dessous.

Description

Cette description du script s'affiche à différents endroits dans l'interface utilisateur de UA et est retournée par les cmdlets Universal.

Désactiver l'invocation manuelle

Cette option empêche l'exécution manuelle d'un script. Elle est appliquée dans l'interface utilisateur, ainsi que dans le serveur web et les cmdlets.

Historique maximum des tâches

L'historique maximum des tâches définit le nombre de tâches conservées lors de l'exécution de ce script. La valeur par défaut est 100. Les tâches sont également nettoyées selon le paramètre de durée de rétention des tâches à l'échelle du serveur, accessible depuis la page Paramètres / Général.

Action en cas d'erreur

L'action en cas d'erreur modifie le comportement du script lorsqu'une erreur survient. Par défaut, les erreurs avec et sans fin d'exécution sont ignorées et le script réussit toujours. Vous pouvez modifier ce paramètre sur « stop » pour que les scripts échouent immédiatement lorsqu'une erreur est rencontrée.

Si vous souhaitez écrire des erreurs directement dans le volet des erreurs sans modifier le traitement du script (par exemple dans un gestionnaire d'exceptions), utilisez Write-PSUError pour générer l'enregistrement d'erreur, qui apparaîtra alors dans l'onglet des erreurs de la tâche.

Environnement

Cette option vous permet de définir l'environnement PowerShell requis pour le script. Par défaut, il utilise l'environnement PowerShell par défaut à l'échelle du serveur. Les environnements PowerShell sont automatiquement localisés lors du premier démarrage du serveur Universal, ou lus depuis le fichier environments.ps1. Vous pouvez également ajouter un environnement dans la page Paramètres / Environnements.

Délai d'expiration

Le nombre de minutes avant l'expiration du script. La valeur par défaut de 0 signifie que le script s'exécutera indéfiniment. Une fois le délai d'expiration atteint, le script est annulé.

Ignorer le pipeline

Lorsque cette option est cochée, le stockage des sorties du pipeline est désactivé. Cela réduit considérablement la charge CPU et de stockage des tâches, mais le script continue d'écrire dans les flux d'information, d'avertissement et d'erreur.

Tâches simultanées

Définit le nombre maximum de tâches simultanées avec lesquelles le script peut être exécuté. La valeur par défaut est 100.

Rôles d'exécution

En utilisant la propriété Rôles d'exécution, vous pouvez définir les rôles attribués lors de l'exécution du script. Par défaut, le script s'exécute selon les rôles de l'appelant. Dans certains scénarios, par exemple lors de l'utilisation de secrets avec des rôles, vous souhaiterez peut-être fournir des rôles supplémentaires que l'appelant ne possède pas. Lors de l'exécution de scripts dans une planification, ceux-ci n'auront aucun rôle ; les fournir via les Rôles d'exécution permettra d'utiliser des variables secrètes avec des rôles dans le script planifié.

Exécuter un script

Vous pouvez exécuter un script dans l'interface utilisateur depuis la page Automation / Scripts en cliquant sur Exécuter, ou en cliquant sur Afficher puis sur Exécuter. Dans les deux cas, la boîte de dialogue Exécuter s'affiche, vous permettant de sélectionner différents paramètres pour la tâche.

Boîte de dialogue Exécuter le script

Exécuter un script avec des paramètres

En savoir plus sur les paramètres ici.

PowerShell Universal détermine automatiquement les paramètres tels que définis dans vos scripts. Il tire parti de l'analyse statique du code pour déterminer le type, les valeurs par défaut et certaines validations, qui sont ensuite présentées dans l'interface utilisateur.

Par exemple, vous pouvez avoir un script avec les paramètres suivants :

Le résultat est un ensemble d'options de saisie basées sur les types de paramètres.

Boîte de dialogue des paramètres du script

Exécuter un script en tant qu'un autre utilisateur

L'environnement intégré ne prend pas en charge l'exécution avec des informations d'identification alternatives.

Vous pouvez exécuter des scripts en tant qu'un autre utilisateur en configurant des variables secrètes. PowerShell Universal utilise le module Microsoft Secret Management pour s'intégrer avec les fournisseurs de secrets. Consultez la section sur les variables pour plus d'informations sur les secrets.

  1. Créez une nouvelle variable secrète PSCredential.

Cliquez sur Platform \ Variables, puis sur Créer un secret. Sélectionnez le type de variable PSCredential. Entrez le nom d'utilisateur et le mot de passe. Assurez-vous que la valeur Désactiver la prise en charge de l'exécution en tant que est décochée.

Créer une variable secrète
  1. Exécutez le script et sélectionnez les informations d'identification

Revenez à Automation \ Scripts et cliquez sur le bouton Exécuter le script. Sélectionnez un environnement autre que l'environnement intégré. Par défaut, il s'agira de PowerShell 7 ou Windows PowerShell 5.1.

Une liste déroulante Exécuter en tant que s'affichera alors pour vous permettre de sélectionner les informations d'identification. Vous pouvez ainsi sélectionner les informations d'identification dans la boîte de dialogue d'exécution.

Exécuter en tant qu'utilisateur

Exécuter un script sur un autre ordinateur

Vous pouvez utiliser la liste déroulante Ordinateur pour sélectionner d'autres machines sur lesquelles exécuter un script. La valeur par défaut est d'exécuter sur n'importe quel ordinateur disponible.

Exécuter un script sur tous les ordinateurs

Vous pouvez exécuter un script sur tous les ordinateurs en sélectionnant l'option Tous les ordinateurs dans la liste déroulante Ordinateur.

Exécuter un script depuis une application avec affichage de la sortie

Si vous souhaitez exécuter un script depuis une application et afficher la sortie au fur et à mesure de son exécution, utilisez l'exemple suivant. Il tire parti de Invoke-PSUScript et Get-PSUJobOutput.

Équilibrage de charge

PowerShell Universal utilise un algorithme d'équilibrage de charge basé sur le serveur le moins occupé. Si plusieurs serveurs sont des cibles valides pour une tâche, PowerShell Universal sélectionnera le serveur sur lequel le moins de tâches sont en cours d'exécution.

Accès à distance

Vous pouvez utiliser la communication à distance PowerShell en tirant parti de Invoke-Command. PowerShell Universal ne prend pas en charge l'utilisation de Enter-PSSession ou Import-PSSession.

Aide basée sur les commentaires

Vous pouvez utiliser l'aide basée sur les commentaires pour définir la description, un synopsis, une aide basée sur les paramètres et des liens pour vos scripts. Ces informations s'afficheront dans l'interface utilisateur de PowerShell Universal.

L'exemple ci-dessus produit l'interface utilisateur suivante. Le synopsis s'affiche comme description courte, et une description plus longue s'affiche dans la section de description. Les liens apparaissent sous la description.

Informations supplémentaires sur le script

Modules et commandes

Les commandes et cmdlets trouvés dans les modules peuvent être utilisés comme cible pour les scripts plutôt que de créer le script directement.

Supposons que nous ayons un module appelé PSUModule contenant la fonction suivante.

Il est possible d'exposer cette fonction en tant que script en utilisant la syntaxe suivante dans scripts.ps1.

La fonction apparaît comme les autres scripts dans la console d'administration. Les paramètres, le texte d'aide et les autres fonctionnalités de PSU fonctionnent de la même manière qu'avec les scripts.

Statistiques

En utilisant l'historique des tâches d'un script, PowerShell Universal fournit des statistiques de base sur l'exécution du script. Celles-ci comprennent le taux de réussite, le temps d'exécution moyen, ainsi que des répartitions par environnement, utilisateur et ordinateur d'exécution.

Statistiques du script

Prise en charge de Start-Job

Bien qu'il soit possible de démarrer des tâches avec Invoke-PSUScript, il peut être souhaitable de démarrer une tâche avec le cmdlet PowerShell Start-Job. L'utilisation de Start-Job n'enregistre pas la tâche dans PowerShell Universal et les informations d'exécution ne seront pas présentes dans la table des tâches.

Les environnements intégré, PowerShell 7 et Windows PowerShell 5.1 ne sont pas compatibles avec Start-Job car ce sont des hôtes PowerShell personnalisés. Pour utiliser Start-Job, vous devrez configurer un environnement PowerShell personnalisé. Cliquez sur Paramètres \ Environnements. Ensuite, cliquez sur Créer un nouvel environnement. Nommez l'environnement, sélectionnez le type d'environnement Personnalisé et spécifiez pwsh.exe comme chemin d'accès à l'exécutable.

Vous pourrez maintenant utiliser cet environnement pour exécuter le cmdlet Start-Job.

API

Mis à jour

Ce contenu vous a-t-il été utile ?