Windows-Skriptaktionen: Verwendung, unterstützte Funktionen und Überlegungen

Überblick

Dieser Artikel enthält detaillierte Informationen zur Verwendung, zu den unterstützten Funktionen und zu wichtigen Überlegungen zu Windows-Skriptaktionen. Windows-Skriptaktionen ermöglichen die Ausführung benutzerdefinierter Skripte auf Windows-basierten Systemen innerhalb der festgelegten Einschränkungen und bieten verschiedene Optionen für die Parametersteuerung.

Anmerkung

Das Modell für die Ausführung von Windows-Skriptaktionen hat sich ab Version 5.3 geändert. Stellen Sie daher sicher, dass zuvor verwendete Windows-Skriptaktionen weiterhin funktionsfähig sind. Diese Änderung betrifft auch die REST-API. Verwenden Sie anstelle des Felds „ScriptedActionsIds“ „ScriptedActions“, um die Liste der Windows Scripted Actions zu übergeben. Aus Gründen der Abwärtskompatibilität sollte das Feld „ScriptedActionsIds“ jedoch ebenfalls funktionieren, obwohl es das Übergeben von Parametern nicht unterstützt.

Optionen für benutzerdefinierte Windows Scripted Actions

Für Optionen für benutzerdefinierte Windows Scripted Actions steht Support zur Verfügung. Dies ermöglicht Ihnen das Ausführen von Windows-Skripten mit spezifischen Konfigurationen. Hier sind die aktuellen Einschränkungen und unterstützten Optionen:

Unterstützte Plattformen

Es werden nur Windows-Skripte unterstützt. Azure Runbooks werden nicht unterstützt.

Skriptausführungsmodus

Skripte können in den Modi „Individuell“ oder „Individuell mit Neustart“ ausgeführt werden.

Cloud PCs

Benutzerdefinierte Skripte werden auf Cloud-PCs nicht unterstützt.

Windows Scripted Actions-Gruppen

Die Verwendung von Skripten in Windows Scripted Actions-Gruppen wird nicht unterstützt.

PowerShell-Codevalidierung

Windows-Skripte beinhalten beim Speichern eine grundlegende PowerShell-Codevalidierung. Diese Funktion trägt dazu bei, sicherzustellen, dass der Code des Skripts syntaktisch korrekt ist, und minimiert potenzielle Probleme.

Unterstützte Parametertypen und Steuerelemente

Windows Scripted Actions unterstützen eine Vielzahl von Parametertypen, von denen jeder über ein eigenes Steuerelement in der Benutzeroberfläche verfügt.

Tipp

`bool`, `switch`: Kontrollkästchen

`byte`, `sbyte`, `ushort`, `short`, `int`, `uint`, `long`, `ulong`, `float`, `double`, `decimal`: Zahleingabe mit Wertegrenzen für jeden Typ

`char`, `string`: Texteingabe

`string[]`: Mehrfachauswahl

Unterstützte Attribute

Sie können die folgenden Attribute in Ihren Skripten verwenden:

Tipp

`DisplayName`

`Description`

`Parameter`

`Mandatory`

`HelpMessage` (kann das Attribut „Description“ überschreiben oder von diesem überschrieben werden)

`ParameterSetName` (derzeit nur für Nerdio Manager integrierte Parameter)

`ValidateSet` (für den Typ „string“, ersetzt die Texteingabe durch eine Einzelauswahl; für „string[]“ werden die verfügbaren Optionen festgelegt)

JSON-Parameterdefinition

Sie können Parameter in Ihrem Skript mithilfe der JSON-Notation definieren. Die Struktur für JSON-Parameterdefinitionen sieht wie folgt aus:

Tipp

{

"parameter_name_1": {

"DisplayName": "string",

"Description": "string",

"IsRequired": "bool",

"Type": "string",

"OptionsSet": [

{ \"Wert\": \"Jeder Wert, der an den Skriptparameter übergeben wird\" },

{ \"Wert\": \"Anderer Wert\", \"Bezeichnung\": \"Anzeigename für diese Option, optional\" }

]

},

"parameter_name_2": { ... }

}

Anmerkung

Alle Parameter sowie die JSON-Definition selbst sind optional.

Verwendung integrierter Nerdio Manager Parameter

Standardvariablen werden standardmäßig an Windows Scripted Actions übergeben. Wenn Sie jedoch benutzerdefinierte Parameter einbeziehen, müssen diese Variablen mithilfe von ParameterSetName definiert werden, andernfalls werden sie in die skriptbasierte Aktion aufgenommen.

Um integrierte Nerdio Manager-Parameter zu verwenden, einschließlich `$AzureRegionName` und `$AzureSubscriptionName`, können Sie wie folgt vorgehen:

  • Lassen Sie den „param“-Block weg, dann gilt das alte Verhalten, bei dem integrierte Parameter automatisch an das Skript übergeben werden.

  • Wenn Sie dem „param“-Block einen erforderlichen integrierten Parameter mit dem richtigen Namen (wie im Tooltip aufgeführt) hinzufügen möchten, geben Sie den Typ an („string“ für die meisten, „object“ für `$SecureVars`) und legen Sie `ParameterSetName = \"NME_PARAMETER\"` fest.

Beispiel:

In diesem Fall ist der Parameter in der Benutzeroberfläche ausgeblendet, wird aber automatisch von Nerdio Manager an das Skript übergeben.

Tipp

param (

[Parameter(ParameterSetName="NME_PARAMETER")]

[string] $AzureRegionName

)

Wichtige Überlegungen

Stellen Sie sicher, dass Sie die korrekte Ausführung von Windows-Skriptaktionen in verschiedenen Szenarien überprüfen:

  • Führen Sie Windows-Skriptaktionen auf Hosts aus.

  • Führen Sie Windows-Skriptaktionen massenhaft auf Hosts aus.

  • Ausschalten und als Image festlegen.

  • Führen Sie Windows-Skriptaktionen auf einem Desktop-Image aus.

  • Erstellen Sie ein Desktop-Image aus einer Bibliothek.

  • Erstellen Sie ein Desktop-Image aus einer VM.

  • Klonen Sie ein Desktop-Image.

  • Hostpool-Einstellungen > Scripted Actions.

Zusätzliche Ressourcen

Beispiele für die Verwendung und Zugriff auf die neuen Skripte finden Sie im Haupt-Repository, in dem die neuen Skripte nach der Veröffentlichung hinzugefügt werden.

War dieser Beitrag hilfreich?

0 von 0 fanden dies hilfreich
Haben Sie Fragen? Anfrage einreichen

Kommentare (0 Kommentare)

Bitte melden Sie sich an, um einen Kommentar zu hinterlassen.