MAIN MENU
Le blogue Devolutions

Annonces, mises à jour et analyses de Devolutions

PowerShell Universal Dynamic Forms for the Devolutions blog.

Créer des formulaires web pour les scripts PowerShell dans PSU

PowerShell Universal transforme vos scripts en formulaires web. Cet article couvre les formulaires automatiques issus des paramètres de script, les formulaires configurables dans les Pages, et les formulaires dynamiques multi-étapes avec les steppers Universal Dashboard.

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.

PowerShell Universal script run dialog showing auto-generated fields for each param.
Paramètres de script PowerShell Universal

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.

PowerShell Universal script form tooltip showing HelpMessage text for a parameter.
Aide de script PowerShell Universal

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.

PowerShell Universal script form highlighting a mandatory parameter before run.
Paramètres obligatoires PowerShell Universal

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.

PowerShell Universal page editor with Edit available in the top right.
Édition de page PowerShell Universal

Ensuite, ouvrez Toolbox et allez dans l’onglet Data Input.

PowerShell Universal page toolbox open on the Data Input tab with a form.
Formulaire de page PowerShell Universal

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.

PowerShell Universal form field editor listing available input field types.
Champs de formulaire PowerShell Universal

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

PowerShell Universal finished page showing a ready-to-use web form.
Formulaire de page PowerShell Universal

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.

PowerShell Universal dashboard stepper collecting multi-step form input.
Stepper de tableau de bord PowerShell Universal

Essayez par vous-même

Vous pouvez utiliser l’édition Developer gratuitement. Prêt à construire? Téléchargez PowerShell Universal.