Hovedmenu
Devolutions-blog

Nyheder, opdateringer og indsigter fra Devolutions.

PowerShell Universal Dynamic Forms for the Devolutions blog.

Byg webformularer til PowerShell-scripts i PSU

Med PowerShell Universal kan De omdanne scripts til webformularer. Dette indlæg dækker automatiske formularer ud fra scriptparametre, konfigurerbare formularer i Pages og dynamiske formularer i flere trin med steppers i Universal Dashboard.

PowerShell Universal er en platform til at bygge brugerdefinerede, webbaserede værktøjer med PowerShell. En af styrkerne er muligheden for at bygge webformularer til Deres PowerShell-scripts. I dette indlæg ser vi på tre måder at gøre det på.

Automatiske webformularer med scriptparametre

PowerShell Universal kan køre ad hoc-scripts fra administratorkonsollen. Platformen fortolker de grundlæggende parametre i et scripts param-blok og viser en formular ud fra disse parametertyper.

Oprettelse af en formular med en param-blok

Opret først et script. Klik på Automation > Scripts og derefter på Create New Script. For at oprette en grundlæggende formular angiver De en param-blok, ligesom De ville gøre i et hvilket som helst PowerShell-script. I eksemplet nedenfor bruger vi flere parametertyper:

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

Når De klikker på Run, får De en formular med felter til hver parameter.

Kørselsdialog for et script i PowerShell Universal med automatisk oprettede felter for hver param.
Scriptparametre i PowerShell Universal

Når De har kørt scriptet, ser De outputtet for hver parameter i ruden Output.

Hjælpetekst

De kan medtage hjælpetekst i Deres formularer med egenskaben HelpMessage på ParameterAttribute:

param(
    [Parameter(HelpMessage = 'Enter your name')]
    $Name
)

$Name

Hold markøren over værktøjstippet, så vises hjælpeteksten.

Værktøjstip i en scriptformular i PowerShell Universal, der viser HelpMessage-tekst for en parameter.
Scripthjælp i PowerShell Universal

Obligatoriske parametre

Markér obligatoriske parametre med egenskaben Mandatory på ParameterAttribute:

param(
    [Parameter(Mandatory)]
    $Name
)

$Name

Obligatoriske parametre skal udfyldes, før scriptet kan køre.

Scriptformular i PowerShell Universal, der fremhæver en obligatorisk parameter før kørsel.
Obligatoriske parametre i PowerShell Universal

Enkle webformularer på sider

Pages giver Dem mere kontrol over brugeroplevelsen. En formular på en side kører et script eller et API, når brugeren har indtastet sine oplysninger.

For at oprette en side skal De klikke på User Interfaces > Pages og derefter på Create New Page. Vis siden, og klik på Edit øverst til højre.

Sideeditor i PowerShell Universal med Edit tilgængelig øverst til højre.
Redigering af en side i PowerShell Universal

Åbn derefter Toolbox, og gå til fanen Data Input.

Værktøjskasse til sider i PowerShell Universal åben på fanen Data Input med en formular.
Sideformular i PowerShell Universal

Tilpas størrelse og placering af formularen ved at trække i nederste højre hjørne eller i midten af komponenten. Klik på den blå redigeringsknap øverst til højre for at ændre formularens egenskaber. Den første indstilling, De skal konfigurere, er det script, der skal køre. Hvert felt, brugeren udfylder, sendes som en parameter til det script.

Definer derefter felterne på Deres side. Der er 10 felttyper at vælge imellem, herunder tekstfelter, afkrydsningsfelter og valglister.

Felteditor til formularer i PowerShell Universal med de tilgængelige inputfelttyper.
Formularfelter i PowerShell Universal

Når De har defineret Deres felter, skal De gemme formularen og derefter gemme siden. Den færdige side indeholder formularen. Brugerne kan indtaste data, og scriptet bliver kaldt.

Færdig side i PowerShell Universal med en webformular, der er klar til brug.
Sideformular i PowerShell Universal

Komplekse, dynamiske formularer i dashboards

Med dashboards kan De bygge komplekse, dynamiske websteder (herunder formularer) med PowerShell. Frameworket Universal Dashboard har over 70 kontrolelementer til interaktive websteder. De kan bruge input- og formularkontrolelementerne til at bygge mere avancerede formularer.

For at oprette et nyt dashboard skal De klikke på User Interfaces > Dashboards og derefter på Create New Dashboard. Når det findes, skal De klikke på detaljeknappen. De ser kodeeditoren til brugerfladens indhold.

Eksemplet nedenfor er en formular i flere trin med flere sider af inputkontrolelementer. Med en stepper kan De validere input, justere trin ud fra brugerens data og kalde en hvilken som helst PowerShell-cmdlet, når formularen sendes:

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

Det færdige dashboard viser en enkelt side med stepperen. Efterhånden som De bevæger Dem gennem trinnene, indsamles dataene og vises til sidst.

Stepper i et dashboard i PowerShell Universal, der indsamler input fra en formular i flere trin.
Dashboard-stepper i PowerShell Universal

Prøv det selv

De kan bruge Developer-udgaven gratis. Klar til at bygge? Download PowerShell Universal.