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

Scripts

Vous pouvez créer des scripts PowerShell dans PowerShell Universal pour les exécuter manuellement, selon un horaire ou lorsque des événements se produisent dans la plateforme. Ils sont stockés sur le disque et sont persistés dans un dépôt Git local ou distant.

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

Ajouter un nouveau script

Pour ajouter un nouveau script, cliquez sur le bouton New Script dans la page Automation / Scripts. Vous pouvez fournir divers paramètres pour le script.

Dialogue Nouveau script

Options du script

Nom

Il s'agit du nom du script tel qu'il est affiché dans Universal Automation. C'est également le nom utilisé pour persister le script sur le disque. Le nom doit être unique dans le dossier actuel.

Module et commande

Consultez Modules et commandes ci-dessous.

Description

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

Désactiver l'invocation manuelle

Cela empêche l'exécution manuelle d'un script. Cette règle est appliquée dans l'interface utilisateur ainsi que dans le serveur web et les applets de commande.

Historique maximal des tâches

L'historique maximal des tâches définit le nombre de tâches stockées lors de l'exécution de ce script. La valeur par défaut est 100. Les tâches sont aussi nettoyées en fonction du paramètre de durée de conservation des tâches à l'échelle du serveur, dans la page Settings / General.

Action en cas d'erreur

L'action en cas d'erreur modifie la façon dont le script réagit lorsqu'il rencontre une erreur. Par défaut, les erreurs bloquantes et non bloquantes sont ignorées et le script réussit toujours. Vous pouvez modifier ce paramètre à stop pour que les scripts échouent immédiatement lorsqu'une erreur est rencontrée.

Si vous souhaitez écrire les erreurs directement dans le volet des erreurs sans modifier la façon dont le script est traité (par exemple dans un gestionnaire d'exceptions), utilisez Write-PSUError pour produire l'enregistrement d'erreur; celui-ci apparaît alors dans l'onglet des erreurs de la tâche.

Environnement

Cela 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 au premier démarrage du serveur Universal ou lus depuis le fichier environments.ps1. Vous pouvez également ajouter un environnement dans la page Settings / Environments.

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. Lorsqu'un script atteint son délai d'expiration, il est annulé.

Abandonner le pipeline

Lorsque cette option est cochée, elle désactive le stockage de la sortie du pipeline. Cela réduit grandement la charge processeur et de stockage des tâches, mais le script écrit toujours dans les flux d'information, d'avertissement et d'erreur.

Tâches simultanées

Définit le nombre maximal 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é Execution Roles, vous pouvez définir quels rôles sont attribués pendant l'exécution du script. Par défaut, le script s'exécute en fonction des rôles de l'appelant. Dans certains scénarios, par exemple lors de l'utilisation de secrets avec rôles, vous pourriez vouloir fournir des rôles supplémentaires que l'appelant ne possède pas. Lorsque des scripts sont exécutés dans un horaire, ils n'auront aucun rôle; les fournir via Execution Roles permettra donc d'utiliser des variables Secret avec 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 Run ou en cliquant sur View puis sur Run. Dans chaque cas, le dialogue Run apparaît, vous permettant de sélectionner divers paramètres pour la tâche.

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

Dialogue des paramètres du script

Exécuter un script en tant qu'autre utilisateur

L'environnement intégré ne prend pas en charge l'exécution avec des identifiants alternatifs.

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

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

Cliquez sur Platform \ Variables, puis sur Create Secret. Sélectionnez le type de variable PSCredential. Entrez le nom d'utilisateur et le mot de passe. Assurez-vous que la valeur Disable Run As Support n'est pas cochée.

Créer une variable secrète
  1. Exécutez le script et sélectionnez l'identifiant

Retournez à Automation \ Scripts et cliquez sur le bouton Run Script. Sélectionnez un environnement autre que l'environnement Integrated. Par défaut, il s'agira de PowerShell 7 ou de Windows PowerShell 5.1.

Vous serez maintenant invité à sélectionner l'identifiant dans la liste déroulante Run As. À partir de là, vous pouvez sélectionner l'identifiant dans le 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 Computer 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 All Computers dans la liste déroulante Computer.

Exécuter un script depuis une appli avec sortie

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

Équilibrage des charges

PowerShell Universal utilise un algorithme d'équilibrage des charges basé sur le serveur le moins occupé. Si plus d'un serveur est une cible valide pour une tâche, PowerShell Universal sélectionnera le serveur ayant le plus petit nombre de tâches en cours d'exécution.

Communication à 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, l'aide relative aux paramètres et les liens de vos scripts. Ceux-ci seront affichés dans l'interface utilisateur de PowerShell Universal.

Ce qui précède 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.

Information supplémentaire sur le script

Modules et commandes

Les commandes et les applets de commande présentes dans des modules peuvent être utilisées comme cible des scripts plutôt que d'écrire le script directement.

Supposons que nous avons un module appelé PSUModule qui contient 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 façon qu'avec les scripts.

Statistiques

À l'aide de 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 et la répartition de l'exécution par environnement, utilisateur et ordinateur.

Statistiques du script

Prise en charge de Start-Job

Bien qu'il soit possible de démarrer des tâches à l'aide de Invoke-PSUScript, il peut être souhaitable de démarrer une tâche à l'aide de l'applet de commande PowerShell Start-Job. L'utilisation de Start-Job n'enregistre pas la tâche auprès de PowerShell Universal et l'information d'exécution ne sera pas présente dans la table des tâches.

Les environnements Integrated, PowerShell 7 et Windows PowerShell 5.1 ne sont pas compatibles avec Start-Job parce qu'il s'agit d'hôtes PowerShell personnalisés. Pour utiliser Start-Job, vous devrez configurer un environnement PowerShell personnalisé. Cliquez sur Settings \ Environments. Ensuite, cliquez sur Create New Environment. Nommez l'environnement, sélectionnez le type d'environnement Custom et spécifiez pwsh.exe comme chemin de l'exécutable.

Vous pourrez maintenant utiliser cet environnement pour exécuter l'applet de commande Start-Job.

API

Mis à jour

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