Parameter
Parameter
Jobs unterstützen das automatische Generieren von Formularen mit Parametern basierend auf dem param-Block Ihres Skripts. Die Art des Steuerelements ändert sich je nach dem Typ, den Sie im Block definieren. Parameter, die zwingend erforderlich sind, werden auch von der Benutzeroberfläche als erforderlich behandelt.
Grundlegende Parameter
Parameter können einfach ohne ein Parameterattribut definiert werden und werden dann in der Benutzeroberfläche als Textfelder angezeigt.
param($Test)
$TestParametertypen
Universal unterstützt verschiedene Arten von Parametern. Sie können die Typen String, String[], Int, DateTime, Boolean, Switch und Enum verwenden.
String
Sie können String-Parameter definieren, indem Sie den Typ [String] angeben oder überhaupt keinen Typ angeben. Strings erzeugen ein Textfeld.
param(
[String]$Textbox,
$Textbox2
)
String-Arrays
Sie können String-Arrays angeben, indem Sie den Typspezifizierer [String[]] verwenden. String-Arrays erzeugen ein Mehrfachauswahlfeld mit Tags.

Datum und Uhrzeit
Sie können den Typspezifizierer [DateTime] verwenden, um eine Datums- und Uhrzeitauswahl zu erstellen.

Boolean
Sie können einen [Bool]-Typspezifizierer verwenden, um einen Schalter zu erstellen.

Integer
Sie können eine Zahlenauswahl definieren, indem Sie den Typspezifizierer [Int] verwenden.

Switch-Parameter
Sie können einen Switch-Parameter mit dem Typspezifizierer [Switch] definieren, um einen Schalter zu erstellen.

Aufzählungen
Sie können System.Enum-Werte verwenden, um Auswahlfelder zu erstellen. Zum Beispiel könnten Sie System.DayOrWeek verwenden, um ein Auswahlfeld für den Wochentag zu erstellen.

PSCredential
Wenn Sie ein PSCredential angeben, wird dem Benutzer eine Auswahlliste der als Variablen verfügbaren Anmeldeinformationen angezeigt.

Datei
Sie können Benutzern erlauben, Dateien hochzuladen, indem Sie den Typ [File] verwenden.
Dateien stehen in Ihren Skripten als PSUFile-Objekt zur Verfügung. Dieses Objekt besitzt ein byte[]-Array, das Sie zur Verarbeitung der Datei verwenden können.
Zum Beispiel können Sie den String-Inhalt der Datei abrufen, indem Sie sie mithilfe der Encoding-Klassen konvertieren.
Anzeigename
Sie können das DisplayNameAtrribute verwenden, um einen Anzeigenamen für den Skriptparameter festzulegen.

Hilfemeldungen
Sie können Hilfemeldungen für Ihre Parameter definieren, indem Sie die Eigenschaft HelpMessage des Parameter-Attributs verwenden.

Erforderliche Parameter
Sie können das Parameter-Attribut verwenden, um erforderliche Parameter zu definieren.

Standardwert
Sie können sowohl statische als auch Standardwerte für Parameter verwenden. Der Standardwert wird berechnet, wenn der Job ausgeführt werden soll.
ValidateSet
Das ValidateSet-Attribut wird verwendet, um zu erzwingen, welche Werte an einen Parameter übergeben werden können. Erfahren Sie mehr über ValidateSet hier. PowerShell Universal erstellt automatisch ein Dropdown-Menü mit den Werten, die dem ValidateSet-Attribut für Parameter übergeben wurden.
Zum Beispiel könnte ein Skript einen param-Block wie folgt definieren.
Das Ergebnis wird unten gezeigt.

Parameter aus PowerShell übergeben
Sie können Parameter aus PowerShell mit dem Cmdlet Invoke-PSUScript übergeben. Dieses Cmdlet unterstützt dynamische Parameter. Wenn Ihr Skript einen param-Block enthält, werden diese Parameter automatisch zu Invoke-PSUScript hinzugefügt.
Zum Beispiel hatte ich ein Skript namens Script1.ps1 mit folgendem Inhalt.
Ich könnte dieses Skript dann mit dieser Syntax aufrufen.
Das Ergebnis wäre, dass Hello im Job-Protokoll und in der Pipeline ausgegeben wird.
Parametersätze
PowerShell Universal unterstützt Parametersätze. Wenn ein Parametersatz definiert ist, wird eine Auswahlliste bereitgestellt, mit der zwischen den Sätzen gewechselt werden kann.

Zuletzt aktualisiert
War das hilfreich?