Azure Automation-Runbooktypen

Das Prozessautomatisierungsfeature von Azure Automation unterstützt verschiedene Runbooktypen, die in der folgenden Tabelle definiert sind. Weitere Informationen zur Prozessautomatisierungsumgebung finden Sie unter Ausführen von Runbooks in Azure Automation.

type BESCHREIBUNG
PowerShell Textrunbook, das auf einem Windows PowerShell-Skript basiert. Die derzeit unterstützten Versionen sind PowerShell 5.1 (GA), PowerShell 7.1 (Vorschau) und PowerShell 7.2 (Vorschau).
PowerShell-Workflow Textrunbook, das auf einem Windows PowerShell-Workflowskript basiert.
Python Textrunbook, das auf einem Python-Skript basiert. Die derzeit unterstützten Versionen sind Python 2.7 (GA), Python 3.8 (Vorschau) und Python 3.10 (Vorschau).
Grafisch Grafisches Runbook, das auf Windows PowerShell basiert und vollständig im grafischen Editor im Azure-Portal erstellt und bearbeitet wird.
PowerShell-Workflow, grafisch Grafisches Runbook, das auf dem Windows PowerShell-Workflow basiert und vollständig im grafischen Editor im Azure-Portal erstellt und bearbeitet wird.

Wenn Sie festlegen, welchen Typ Sie für ein bestimmtes Runbook verwenden möchten, müssen Sie Folgendes berücksichtigen.

  • Runbooks können nicht aus einem grafischen in einen textbasierten Typ oder umgekehrt konvertiert werden.
  • Es gibt Einschränkungen bei der Verwendung von Runbooks verschiedener Typen als untergeordnete Runbooks. Weitere Informationen finden Sie unter Untergeordnete Runbooks in Azure Automation.

PowerShell-Runbooks

PowerShell-Runbooks basieren auf Windows PowerShell. Sie bearbeiten den Code des Runbooks direkt mit dem Text-Editor im Azure-Portal. Sie können auch einen beliebigen Offline-Texteditor verwenden und das Runbook in Azure Automation importieren .

Die PowerShell-Version wird durch die angegebene Runtimeversion bestimmt (d. h. Version 7.2 (Vorschau), 7.1 (Vorschau) oder 5.1). Der Azure Automation-Dienst unterstützt die neueste PowerShell-Runtime.

Dieselben Azure-Sandbox- und Hybrid Runbook Worker-Instanzen können PowerShell 5.1- und PowerShell 7.1 (Vorschau)-Runbooks parallel ausführen.

Hinweis

  • Derzeit wird die Runtimeversion von PowerShell 7.2 (Vorschau) nur in fünf Regionen für Cloudaufträge unterstützt: „USA, Westen-Mitte“, „USA, Osten“, „Südafrika, Norden“, „Europa, Norden“, „Australien, Südosten“.
  • Wenn Sie bei der Ausführung des Runbooks die Runtimeversion7.1 (Vorschau) auswählen, werden PowerShell-Module verwendet, die auf die Runtimeversion 7.1 (Vorschau) ausgerichtet sind, und wenn Sie die Runtimeversion5.1 auswählen, werden PowerShell-Module verwendet, die auf die Runtimeversion 5.1 ausgerichtet sind. Dies gilt für PowerShell 7.2 (Vorschau)-Module und -Runbooks.

Stellen Sie sicher, dass Sie die richtige Runtimeversion für Module auswählen.

Beispiel: Wenn Sie ein Runbook für ein SharePoint-Automatisierungsszenario in Runtimeversion7.1 (Vorschauversion) ausführen, dann importieren Sie das Modul in Runtimeversion7.1 (Vorschauversion). Wenn Sie ein Runbook für ein SharePoint-Automatisierungsszenario in Runtimeversion5.1 ausführen, dann importieren Sie das Modul in Runtimeversion5.1. In diesem Fall sehen Sie zwei Einträge für das Modul, einen für Runtimeversion7.1 (Vorschauversion) und einen für 5.1.

Runbooktypen

Hinweis

Derzeit werden PowerShell 5.1, PowerShell 7.1 (Vorschau) und PowerShell 7.2 (Vorschau) unterstützt.

Vorteile

  • Implementierung der gesamten komplexen Logik mit PowerShell-Code ohne die zusätzliche Komplexität des PowerShell-Workflows.
  • Schnellerer Start als PowerShell-Workflow-Runbooks, da vor der Ausführung keine Kompilierung erforderlich ist
  • Werden in Azure und in Hybrid Runbook Workern sowohl für Windows als auch für Linux ausgeführt

Einschränkungen und bekannte Probleme

Im Folgenden sind die aktuellen Einschränkungen von sowie bekannten Probleme mit PowerShell-Runbooks aufgeführt:

Einschränkungen

  • Erfordern Kenntnisse zu PowerShell-Skripts
  • Können keine parallele Verarbeitung zum gleichzeitigen Ausführen mehrerer Aktionen nutzen
  • Können keine Prüfpunkte zum Fortsetzen des Runbooks bei einem Fehler nutzen
  • Sie können nur PowerShell-, PowerShell-Workflow- und grafische Runbooks mithilfe des Cmdlets Start-AzAutomationRunbook als untergeordnete Runbooks einfügen, wobei ein neuer Auftrag erstellt wird.
  • Für Runbooks kann die PowerShell-Anweisung #Requires nicht verwendet werden. Sie wird in der Azure-Sandbox und für Hybrid Runbook Workers nicht unterstützt und führt möglicherweise dazu, dass für den Auftrag ein Fehler auftritt.

Bekannte Probleme

  • PowerShell-Runbooks können keine unverschlüsselten Variablenobjekte mit einem NULL-Wert abrufen.
  • PowerShell-Runbooks können kein Variablenobjekt abrufen, dessen Name *~* enthält.
  • Der Vorgang Get-Process in einer Schleife in einem PowerShell-Runbook kann nach etwa 80 Iterationen zum Absturz führen.
  • Ein PowerShell-Runbook kann einen Fehler verursachen, wenn es versucht, eine große Datenmenge auf einmal in den Ausgabestream zu schreiben. Sie können dieses Problem in der Regel vermeiden, indem Sie nur die für die Arbeit mit großen Objekten benötigten Informationen in die Runbookausgabe einfügen. Anstatt Get-Process ohne Einschränkungen zu verwenden, können Sie z. B. nur die erforderlichen Parameter in die Cmdlet-Ausgabe einfügen wie bei Get-Process | Select ProcessName, CPU.

PowerShell-Workflow-Runbooks

PowerShell-Workflow-Runbooks sind Textrunbooks, die auf einem Windows PowerShell-Workflowbasieren. Sie bearbeiten den Code des Runbooks direkt mit dem Text-Editor im Azure-Portal. Sie können auch einen beliebigen Offline-Texteditor verwenden und das Runbook in Azure Automation importieren .

Hinweis

PowerShell 7.1 (Vorschau) und PowerShell 7.2 (Vorschau) unterstützen keine Workflow-Runbooks.

Vorteile

  • Implementierung der gesamten komplexen Logik mit PowerShell-Workflowcode.
  • Verwendung von Prüfpunkten zum Fortsetzen des Vorgangs bei einem Fehler
  • Verwendung der Parallelverarbeitung, um mehrere Aktionen gleichzeitig auszuführen
  • Können andere grafische und PowerShell-Workflow-Runbooks als untergeordnete Runbooks enthalten, um übergeordnete Workflows zu erstellen

Einschränkungen

  • Erfordern Kenntnisse mit dem PowerShell-Workflow
  • Müssen die zusätzliche Komplexität des PowerShell-Workflows (z. B. deserialisierte Objekte) verarbeiten
  • Benötigen beim Starten länger als PowerShell-Runbooks, da sie vor der Ausführung kompiliert werden müssen
  • Ausschließlich PowerShell-Runbooks können mit dem Cmdlet Start-AzAutomationRunbook als untergeordnete Runbooks eingeschlossen werden.
  • Keine Möglichkeit zum Ausführen von Runbooks auf einem Hybrid Runbook Worker und Linux

Python-Runbooks

Python-Runbooks lassen sich unter Python 2, Python 3.8 (Vorschau) und Python 3.10 (Vorschau) kompilieren. Sie können den Code des Runbooks direkt mit dem Text-Editor im Azure-Portal bearbeiten. Sie können auch einen beliebigen Offline-Text-Editor verwenden und das Runbook in Azure Automation importieren.

  • Python 3.10 (Vorschau)-Runbooks werden derzeit nur in fünf Regionen für Cloudaufträge unterstützt:
    • USA, Westen-Mitte
    • East US
    • Südafrika, Norden
    • Nordeuropa
    • Australien, Südosten

Vorteile

Hinweis

Das Importieren eines Python-Pakets kann einige Minuten dauern.

  • Verwendet die stabilen Python-Bibliotheken.
  • Können in Azure oder auf Hybrid Runbook Workern ausgeführt werden.
  • Bei Python 2 werden Windows Hybrid Runbook Workers unterstützt, wenn Python 2.7 installiert ist.
  • Für Python 3.8 (Vorschau)-Cloudaufträge wird die Version Python 3.8 (Vorschau) unterstützt. Skripts und Pakete aus einer beliebigen 3.x-Version funktionieren möglicherweise, wenn der Code mit mehreren Versionen kompatibel ist.
  • Für Python 3.8 (Vorschau)-Hybridaufträge auf Windows-Computern können Sie jede beliebige 3.x-Version installieren, die Sie eventuell verwenden möchten.
  • Für Python 3.8 (Vorschau)-Hybridaufträge auf Linux-Computern ist die auf dem Computer installierte Version von Python 3 zum Ausführen von DSC OMSConfig und dem Linux Hybrid Worker erforderlich. Andere Versionen sollten funktionieren, wenn zwischen den Versionen von Python 3 keine Breaking Changes bei Methodensignaturen oder Verträgen erfolgt sind.

Einschränkungen

Im Folgenden finden Sie die Einschränkungen von Python-Runbooks

  • Erfordern Kenntnisse mit Python-Skripts
  • Verwenden Sie für Python 2.7.12-Module Wheel-Dateien für cp27-amd6.
  • Erfordern für die Verwendung von Bibliotheken von Drittanbietern das Importieren der Pakete in das Automation-Konto
  • Azure Automation unterstützt sys.stderr nicht.
  • Da das Python-Paket automationassets auf pypi.org nicht verfügbar ist, kann es nicht auf einen Windows-Computer importiert werden.

Mehrere Python-Versionen

Dies gilt für Windows Hybrid Worker. Ein Windows Runbook Worker sucht beim Ausführen eines Python 2-Runbooks zuerst nach der Umgebungsvariable PYTHON_2_PATH und überprüft, ob sie auf eine gültige ausführbare Datei verweist. Wenn der Installationsordner beispielsweise C:\Python2 lautet, wird überprüft, ob C:\Python2\python.exe ein gültiger Pfad ist. Wenn er nicht gefunden wird, sucht der Worker nach der Umgebungsvariable PATH, um eine ähnliche Überprüfung durchzuführen.

Für Python 3 sucht er zuerst nach der Umgebungsvariable PYTHON_3_PATH und greift dann auf die Umgebungsvariable PATH zurück.

Wenn Sie nur eine Version von Python verwenden, können Sie der Variable den Installationspfad PATH hinzufügen. Wenn Sie beide Versionen auf dem Runbook Worker verwenden möchten, legen Sie für PYTHON_2_PATH und PYTHON_3_PATH den Speicherort des Moduls für diese Versionen fest.

Bekannte Probleme

Bei Cloudaufträgen schlagen Python 3.8-Aufträge manchmal mit der Ausnahmemeldung invalid interpreter executable path fehl. Diese Ausnahme wird möglicherweise angezeigt, wenn der Auftrag verzögert ist, wenn der Start länger als 10 Minuten dauert oder wenn Start-AutomationRunbook verwendet wird, um Python 3.8-Runbooks zu starten. Wenn der Auftrag verzögert wurde, sollte ein Neustart des Runbooks ausreichen. Hybridaufträge sollten ohne Probleme funktionieren, wenn Sie die folgenden Schritte ausführen:

  1. Erstellen Sie eine neue Umgebungsvariable mit dem Namen PYTHON_3_PATH, und geben Sie dafür den Installationsordner an. Wenn der Installationsordner beispielsweise C:\Python3 ist, muss dieser Pfad der Variablen hinzugefügt werden.
  2. Starten Sie den Computer neu, nachdem Sie die Umgebungsvariable festgelegt haben.

Grafische Runbooks

Sie können grafische Runbooks und grafische PowerShell-Workflow-Runbooks im grafischen Editor im Azure-Portal erstellen und bearbeiten. Es ist jedoch nicht möglich, diesen Runbooktyp mit einem anderen Tool zu erstellen oder zu bearbeiten. Hauptfunktionen von grafischen Runbooks:

  • Werden in Dateien in Ihrem Automation-Konto exportiert und dann in ein anderes Automation-Konto importiert
  • Generieren PowerShell-Code
  • Werden während des Imports in grafische PowerShell-Workflow-Runbooks konvertiert und umgekehrt

Vorteile

  • Verwenden ein visuelles Erstellungsmodell zum Einfügen/Verknüpfen/Konfigurieren
  • Schwerpunkt auf Datenfluss im Prozess
  • Visuelle Darstellung von Verwaltungsprozessen.
  • Schließen weitere Runbooks als untergeordnete Runbooks ein, um übergeordnete Workflows zu erstellen
  • Fördern modulare Programmierung

Einschränkungen

  • Können nicht außerhalb des Azure-Portals erstellt oder bearbeitet werden
  • Erfordern möglicherweise Aktivität mit PowerShell-Code, um komplexe Logik auszuführen
  • Können nicht in eines der Textformate konvertiert werden (Textrunbooks können darüber hinaus nicht in das grafische Format überführt werden)
  • Bieten keine Möglichkeit zum Anzeigen oder direkten Bearbeiten des vom grafischen Workflow erstellten PowerShell-Codes. Sie können den erstellten Code in allen Codeaktivitäten anzeigen.
  • Keine Möglichkeit zum Ausführen von Runbooks auf einem Hybrid Runbook Worker unter Linux. Weitere Informationen finden Sie unter Automatisieren von Ressourcen im Rechenzentrum oder in der Cloud mit Hybrid Runbook Worker.
  • Grafische Runbooks können nicht digital signiert werden.

Nächste Schritte