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 du 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 dine 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 du en param-blok, ligesom du 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 du klikker på Run, får du 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 du har kørt scriptet, ser du outputtet for hver parameter i ruden Output.

Hjælpetekst

Du kan medtage hjælpetekst i dine 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 dig 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 du 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, du skal konfigurere, er det script, der skal køre. Hvert felt, brugeren udfylder, sendes som en parameter til det script.

Definer derefter felterne på din 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 du har defineret dine felter, skal du 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 du bygge komplekse, dynamiske websteder (herunder formularer) med PowerShell. Frameworket Universal Dashboard har over 70 kontrolelementer til interaktive websteder. Du kan bruge input- og formularkontrolelementerne til at bygge mere avancerede formularer.

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

Eksemplet nedenfor er en formular i flere trin med flere sider af inputkontrolelementer. Med en stepper kan du 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 du bevæger dig 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

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