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 Cloud Assembly.
  • 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 Cloud Assembly 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 Cloud Assembly-Dienstes vorkonfiguriert.

Darüber hinaus können Sie ein ZIP-Paket in Szenarien verwenden, in denen Module, die mit Abhängigkeiten in Ihrem Aktionsskript verknüpft sind, nicht vom Cloud Assembly-Dienst aufgelöst werden können. Dies ist beispielsweise der Fall, wenn kein Internetzugriff in Ihrer Umgebung möglich ist.

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

  1. Erstellen Sie auf Ihrem lokalen Computer einen Ordner für das Aktionsskript und die Abhängigkeiten.
    Beispiel: /home/user1/zip-action.
  2. 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.
  3. (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.
  4. (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.
    1. Melden Sie sich bei einer Linux PowerShell-Shell an.
      Hinweis: Die Laufzeit der aktionsbasierten Erweiterbarkeit (ABX) in Cloud Assembly 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.
    2. Navigieren Sie zum Ordner /home/user1/zip-action.
    3. 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 ./
    4. Wiederholen Sie den vorherigen Teilschritt für alle zusätzlichen Abhängigkeitsmodule.
      Wichtig: Stellen Sie sicher, dass sich jedes Abhängigkeitsmodul in einem eigenen Unterordner befindet. Weitere Informationen zum Schreiben und Verwalten von PowerShell-Modulen finden Sie in der Vorgehensweise zum Schreiben eines PowerShell-Skriptmoduls.
  5. 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.