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.
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.
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.
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.
Öffnen Sie als Nächstes Toolbox und wechseln Sie zum Tab Data Input.
Ä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.
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.
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.
Selbst ausprobieren
Sie können die Developer-Edition kostenlos nutzen. Bereit zum Bauen? PowerShell Universal herunterladen.

Adam Driscoll