MAIN MENU
Devolutions Blog

Ankündigungen, Aktualisierungen und Einsichten von Devolutions

PowerShell Universal Dynamic Forms for the Devolutions blog.

Webformulare für PowerShell-Skripte in PSU erstellen

PowerShell Universal verwandelt Skripte in Webformulare. Dieser Beitrag behandelt automatische Formulare aus Skriptparametern, konfigurierbare Formulare in Pages und mehrstufige dynamische Formulare mit Universal Dashboard-Steppers.

PowerShell Universal ist eine Plattform zum Erstellen individueller, webbasierter Tools mit PowerShell. Eine ihrer Stärken ist die Möglichkeit, Webformulare für Ihre PowerShell-Skripte zu bauen. In diesem Beitrag schauen wir uns drei Wege an, das zu tun.

Automatische Webformulare mit Skriptparametern

PowerShell Universal kann Ad-hoc-Skripte aus der Admin-Konsole ausführen. Die Plattform analysiert die grundlegenden Parameter im param-Block eines Skripts und zeigt ein Formular basierend auf diesen Parametertypen an.

Ein Formular mit einem Param-Block erstellen

Erstellen Sie zuerst ein Skript. Klicken Sie auf Automation > Scripts und dann auf Create New Script. Für ein einfaches Formular geben Sie einen param-Block an, wie in jedem PowerShell-Skript. Im folgenden Beispiel nutzen wir mehrere Parametertypen:

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

Wenn Sie auf Run klicken, erhalten Sie ein Formular mit Feldern für jeden Parameter.

PowerShell Universal script run dialog showing auto-generated fields for each param.
PowerShell Universal-Skriptparameter

Nach dem Ausführen des Skripts sehen Sie die Ausgabe jedes Parameters im Bereich Output.

Hilfetext

Sie können Hilfetext in Ihren Formularen mit der Eigenschaft HelpMessage von ParameterAttribute hinzufügen:

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

$Name

Bewegen Sie den Mauszeiger über den Tooltip, und die Hilfemeldung erscheint.

PowerShell Universal script form tooltip showing HelpMessage text for a parameter.
PowerShell Universal-Skripthilfe

Pflichtparameter

Markieren Sie Pflichtparameter mit der Eigenschaft Mandatory von ParameterAttribute:

param(
    [Parameter(Mandatory)]
    $Name
)

$Name

Pflichtparameter müssen ausgefüllt sein, bevor das Skript ausgeführt werden kann.

PowerShell Universal script form highlighting a mandatory parameter before run.
PowerShell Universal-Pflichtparameter

Einfache Webformulare in Pages

Pages geben Ihnen mehr Kontrolle über die Benutzererfahrung. Ein Formular auf einer Page führt ein Skript oder eine API aus, nachdem der Benutzer seine Angaben eingegeben hat.

Um eine Page zu erstellen, klicken Sie auf User Interfaces > Pages und dann auf Create New Page. Öffnen Sie die Page und klicken Sie oben rechts auf Edit.

PowerShell Universal page editor with Edit available in the top right.
PowerShell Universal-Page bearbeiten

Öffnen Sie als Nächstes Toolbox und wechseln Sie zum Tab Data Input.

PowerShell Universal page toolbox open on the Data Input tab with a form.
PowerShell Universal-Page-Formular

Ändern Sie Größe und Position des Formulars, indem Sie die untere rechte Ecke oder die Mitte der Komponente ziehen. Klicken Sie oben rechts auf die blaue Bearbeitungsschaltfläche, um die Formulareigenschaften zu ändern. Die erste Einstellung, die Sie konfigurieren sollten, ist das auszuführende Skript. Jedes Feld, das der Benutzer ausfüllt, wird als Parameter an dieses Skript übergeben.

Definieren Sie anschließend die Felder für Ihre Page. Es gibt 10 Feldtypen zur Auswahl, darunter Textfelder, Kontrollkästchen und Auswahllisten.

PowerShell Universal form field editor listing available input field types.
PowerShell Universal-Formularfelder

Sobald Sie Ihre Felder definiert haben, speichern Sie das Formular und dann die Page. Die resultierende Page enthält das Formular. Benutzer können Daten eingeben, und das Skript wird aufgerufen.

PowerShell Universal finished page showing a ready-to-use web form.
PowerShell Universal-Page-Formular

Komplexe, dynamische Formulare in Dashboards

Dashboards ermöglichen komplexe, dynamische Websites (einschließlich Formulare) mit PowerShell. Das Universal Dashboard-Framework stellt über 70 Steuerelemente für interaktive Sites bereit. Mit den Eingabe- und Formularsteuerelementen können Sie fortgeschrittenere Formulare bauen.

Um ein neues Dashboard zu erstellen, klicken Sie auf User Interfaces > Dashboards und dann auf Create New Dashboard. Sobald es existiert, klicken Sie auf die Details-Schaltfläche. Sie sehen den Code-Editor für den Inhalt der Oberfläche.

Das folgende Beispiel ist ein mehrstufiges Formular mit mehreren Seiten von Eingabesteuerelementen. Mit einem Stepper können Sie Eingaben validieren, Schritte anhand von Benutzerdaten anpassen und bei der Formularübermittlung beliebige PowerShell-Cmdlets aufrufen:

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

Das resultierende Dashboard zeigt eine einzelne Seite mit dem Stepper. Während Sie die Schritte durchlaufen, werden Daten erfasst und am Ende angezeigt.

PowerShell Universal dashboard stepper collecting multi-step form input.
PowerShell Universal-Dashboard-Stepper

Selbst ausprobieren

Sie können die Developer-Edition kostenlos nutzen. Bereit zum Bauen? PowerShell Universal herunterladen.