PowerShell Universal est une plateforme pour créer des outils web personnalisés avec PowerShell. L’une de ses forces est la possibilité de créer des formulaires web pour vos scripts PowerShell. Dans cet article, nous verrons trois façons de le faire.
Formulaires web automatiques avec les paramètres de script
PowerShell Universal peut exécuter des scripts ad hoc depuis la console d’administration. La plateforme analyse les paramètres de base dans le bloc param d’un script et présente un formulaire selon ces types de paramètres.
Créer un formulaire avec un bloc param
Commencez par créer un script. Cliquez sur Automation > Scripts, puis Create New Script. Pour un formulaire de base, spécifiez un bloc param comme dans n’importe quel script PowerShell. Dans l’exemple ci-dessous, nous utilisons plusieurs types de paramètres :
param(
$String,
[string]$String2,
[string[]]$StringArray,
[DateTime]$DateTime,
[bool]$Switch,
[int]$Number,
[Switch]$Switch2,
[System.DayOfWeek]$DayOfWeek
)
$String
$String2
$StringArray
$DateTime
$Switch
$Number
$Switch2
$DayOfWeek
Lorsque vous cliquez sur Run, vous obtenez un formulaire avec un champ pour chaque paramètre.
Une fois le script exécuté, vous voyez la sortie de chaque paramètre dans le volet Output.
Texte d’aide
Vous pouvez ajouter du texte d’aide dans vos formulaires avec la propriété HelpMessage de ParameterAttribute :
param(
[Parameter(HelpMessage = 'Enter your name')]
$Name
)
$Name
Survolez l’info-bulle et le message d’aide s’affiche.
Paramètres obligatoires
Marquez les paramètres obligatoires avec la propriété Mandatory de ParameterAttribute :
param(
[Parameter(Mandatory)]
$Name
)
$Name
Les paramètres obligatoires doivent être renseignés avant de pouvoir exécuter le script.
Formulaires web simples dans les Pages
Les Pages offrent davantage de contrôle sur l’expérience utilisateur. Un formulaire sur une page exécute un script ou une API après que l’utilisateur a saisi ses informations.
Pour créer une page, cliquez sur User Interfaces > Pages, puis Create New Page. Affichez la page et cliquez sur Edit en haut à droite.
Ensuite, ouvrez Toolbox et allez dans l’onglet Data Input.
Redimensionnez et repositionnez le formulaire en faisant glisser le coin inférieur droit ou le centre du composant. Cliquez sur le bouton d’édition bleu en haut à droite pour modifier les propriétés du formulaire. Le premier paramètre à configurer est le script à exécuter. Chaque champ rempli par l’utilisateur est transmis comme paramètre à ce script.
Ensuite, définissez les champs de votre page. Il y a 10 types de champs au choix, notamment des zones de texte, des cases à cocher et des listes de sélection.
Une fois vos champs définis, enregistrez le formulaire puis la page. La page résultante contient le formulaire. Les utilisateurs peuvent saisir des données et le script est appelé.
Formulaires dynamiques complexes dans les tableaux de bord
Les tableaux de bord permettent de créer des sites web complexes et dynamiques (y compris des formulaires) avec PowerShell. Le framework Universal Dashboard offre plus de 70 contrôles pour des sites interactifs. Vous pouvez utiliser les contrôles de saisie et de formulaire pour bâtir des formulaires plus avancés.
Pour créer un nouveau tableau de bord, cliquez sur User Interfaces > Dashboards, puis Create New Dashboard. Une fois créé, cliquez sur le bouton de détails. Vous verrez l’éditeur de code pour le contenu de l’interface.
L’exemple ci-dessous est un formulaire multi-étapes avec plusieurs pages de contrôles de saisie. Avec un stepper, vous pouvez valider les entrées, ajuster les étapes selon les données utilisateur, et appeler n’importe quel cmdlet PowerShell à la soumission du formulaire :
New-UDStepper -Steps {
New-UDStep -OnLoad {
New-UDTextbox -Id 'firstName' -Label "First Name" -Value $EventData.Context.firstName
New-UDTextbox -Id 'lastName' -Label "Last Name" -Value $EventData.Context.lastName
} -Label "Name"
New-UDStep -OnLoad {
New-UDCheckbox -Id 'email' -Label 'Create Email Address'
} -Label "Email"
New-UDStep -OnLoad {
New-UDDatePicker -Id 'startDate' -Label 'Specify a start date for this employee'
} -Label "Start Date"
} -OnFinish {
New-UDTypography -Text 'User has been created!' -Variant h3
New-UDElement -Tag 'div' -Id 'result' -Content {$Body}
}
Le tableau de bord résultant affiche une seule page avec le stepper. Au fil des étapes, les données sont collectées et affichées à la fin.
Essayez par vous-même
Vous pouvez utiliser l’édition Developer gratuitement. Prêt à construire? Téléchargez PowerShell Universal.

Adam Driscoll