Sie können ein ZIP-Paket erstellen, das Ihr PowerShell-Skript und Abhängigkeitsmodule für die Verwendung in Erweiterbarkeitsaktionen enthält.
Zwei Methoden stehen zur Erstellung des Skripts für Ihre Erweiterbarkeitsaktionen zur Verfügung:
- Direktes Schreiben des Skripts im Erweiterbarkeitsaktionseditor in Automation Assembler.
- Erstellen des Skripts in Ihrer lokalen Umgebung und Hinzufügen des Skripts zu einem ZIP-Paket mit allen relevanten Abhängigkeiten.
Mithilfe eines ZIP-Pakets können Sie eine benutzerdefinierte vorkonfigurierte Vorlage mit Aktionsskripts und Abhängigkeiten erstellen, die Sie zur Verwendung in Erweiterbarkeitsaktionen in
Automation Assembler importieren können.
Hinweis: Es ist nicht erforderlich, PowerCLI-Cmdlets als Abhängigkeiten zu definieren oder sie in einem ZIP-Paket bündeln. PowerCLI-Cmdlets sind in der PowerShell-Laufzeit Ihres
Automation Assembler-Dienstes vorkonfiguriert.
Sie können auch ein ZIP-Paket verwenden, um Erweiterbarkeitsaktionen mit mehreren PowerShell-Skriptdateien zu erstellen. Die Verwendung mehrerer Skriptdateien kann nützlich sein, um die Struktur des Codes der Erweiterbarkeitsaktionen zu verwalten.
Voraussetzungen
Sie sollten mit PowerShell und PowerCLI vertraut sein. Ein Docker-Image mit PowerShell Core, PowerCLI 10, PowerNSX und mehreren Community-Modulen und Skriptbeispielen finden Sie im Docker Hub .
Prozedur
- Erstellen Sie auf Ihrem lokalen Computer einen Ordner für das Aktionsskript und die Abhängigkeiten.
Beispiel:
/home/user1/zip-action.
- Fügen Sie das PowerShell-Hauptskript mit einer Erweiterung vom Typ .psm1 zum Ordner hinzu.
Das folgende Skript enthält eine einfache PowerShell-Funktion mit dem Namen
main.psm1:
function handler($context, $payload) {
Write-Host "Hello " $payload.target
return $payload
Hinweis: Die Ausgabe einer PowerShell-Erweiterbarkeitsaktion basiert auf der letzten Variable, die im Textkörper der Funktion angezeigt wird. Alle anderen Variablen in der eingeschlossenen Funktion werden verworfen.
- (Optional) Fügen Sie dem PowerShell-Hauptskript eine Proxy-Konfiguration mithilfe von
context
-Parametern hinzu. Weitere Informationen hierzu finden Sie unter Verwenden von Kontextparametern zum Hinzufügen einer Proxykonfiguration zum PowerShell-Skript.
- (Optional) Fügen Sie alle Abhängigkeiten für Ihr PowerShell-Skript hinzu.
Hinweis: Ihr PowerShell-Abhängigkeitsskript muss die Erweiterung
.psm1 verwenden. Verwenden Sie denselben Namen für das Skript und den Unterordner, in dem das Skript gespeichert wird.
- Melden Sie sich bei einer Linux PowerShell-Shell an.
Hinweis: Die Laufzeit der aktionsbasierten Erweiterbarkeit (ABX) in
Automation Assembler ist Linux-basiert. Durch in einer Windows-Umgebung kompilierte PowerShell-Abhängigkeiten kann das generierte ZIP-Paket unbrauchbar werden. Alle installierten Abhängigkeiten von Drittanbietern müssen mit dem VMware Photon OS kompatibel sein, da PowerShell-Skripts auf Photon OS ausgeführt werden.
- Navigieren Sie zum Ordner /home/user1/zip-action.
- Laden Sie das PowerShell-Modul mit Ihren Abhängigkeiten herunter und speichern Sie es, indem Sie das Save-Module-Cmdlet ausführen.
Save-Module -Name <module name> -Path ./
- Wiederholen Sie den vorherigen Teilschritt für alle zusätzlichen Abhängigkeitsmodule.
- Wählen Sie im zugewiesenen Ordner die Skriptelemente und gegebenenfalls die Unterordner des Abhängigkeitsmoduls aus und komprimieren Sie die Elemente in einem ZIP-Paket.
Hinweis: Sowohl die Skript- als auch die Abhängigkeitsmodul-Unterordner müssen auf der Root-Ebene des ZIP-Pakets gespeichert werden. Beim Erstellen des ZIP-Pakets in einer Linux-Umgebung tritt möglicherweise ein Problem auf, wenn der Paketinhalt nicht auf der Root-Ebene gespeichert wird. Wenn dieses Problem auftritt, erstellen Sie das Paket, indem Sie den Befehl
zip -r in der Befehlszeilen-Shell ausführen.
cd your_script_and_dependencies_folder
zip -r ../your_action_ZIP.zip *
Nächste Maßnahme
Verwenden Sie das ZIP-Paket, um ein Erweiterbarkeitsaktionsskript zu erstellen. Weitere Informationen hierzu finden Sie unter Vorgehensweise zum Erstellen von Erweiterbarkeitsaktionen.