Teilen über


Automatisieren von Microsoft Azure Pack-Vorgängen mit Service Management Automation

Wichtig

Diese Version von Service Management Automation (SMA) hat das Supportende erreicht. Es wird empfohlen, ein Upgrade auf SMA 2022 durchzuführen.

Sie können SMA-Runbooks (Service Management Automation) verwenden, um Routinevorgänge in Ihrer Microsoft Azure Pack für Windows Server-Umgebung zu automatisieren. Es gibt zwei verschiedene Arten von SMA-Runbooks:

Typ BESCHREIBUNG
PowerShell-Workflow Textrunbook, das auf einem Windows PowerShell-Workflow basiert.
PowerShell Textrunbook, das auf einem Windows PowerShell-Skript basiert.

PowerShell-Workflowrunbooks

PowerShell-Workflowrunbooks basieren auf Windows PowerShell Workflow. Sie können den Code des Runbooks direkt mit dem Editor im Verwaltungsportal bearbeiten. Sie können auch einen beliebigen Offlinetext-Editor verwenden und das Runbook in SMA importieren.

Vorteile

  • Implementieren Sie die gesamte komplexe Logik mit PowerShell-Workflowcode.
  • Verwendung von Prüfpunkten zum Fortsetzen des Runbooks im Fall eines Fehlers.
  • Verwendung der parallelen Verarbeitung , um mehrere Aktionen gleichzeitig auszuführen.
  • Schließen Sie andere PowerShell-Workflow-Runbooks als untergeordnete Runbooks ein, um allgemeine Workflows zu erstellen.

Einschränkungen

  • Erfordern Kenntnisse mit dem PowerShell-Workflow
  • Runbook muss sich mit der zusätzlichen Komplexität des PowerShell-Workflows befassen, z. B. deserialisierte Objekte.
  • Das Starten des Runbooks dauert länger als bei PowerShell-Runbooks, da es vor der Ausführung kompiliert werden muss.
  • PowerShell-Runbooks können nur mithilfe des Cmdlets Start-SMARunbook als untergeordnete Runbooks eingeschlossen werden, das einen neuen Auftrag erstellt.

PowerShell-Runbooks

PowerShell-Runbooks basieren auf Windows PowerShell. Sie können den Code des Runbooks direkt mit dem Editor im Verwaltungsportal bearbeiten. Sie können auch einen beliebigen Offlinetext-Editor verwenden und das Runbook in SMA importieren.

Vorteile

  • Implementieren Sie die gesamte komplexe Logik mit PowerShell-Code ohne die zusätzliche Komplexität des PowerShell-Workflows.
  • Runbook startet schneller als PowerShell-Workflow-Runbooks, da es nicht vor der Ausführung kompiliert werden muss.

Einschränkungen

  • Erfordern Kenntnisse zu PowerShell-Skripts
  • Sie können die parallele Verarbeitung nicht verwenden, um mehrere Aktionen parallel auszuführen.
  • Sie können keine Prüfpunkte verwenden, um Runbooks fortzusetzen, wenn ein Fehler auftritt.
  • PowerShell-Workflow-Runbooks können nur mithilfe des Cmdlets Start-SMARunbook als untergeordnete Runbooks eingeschlossen werden, das einen neuen Auftrag erstellt.

Ausführen von Runbooks durch SMA

Anforderungen zum Starten eines Runbooks werden vom SMA-Webdienst entweder über das Dienstverwaltungsportal oder das Cmdlet Start-SmaRunbook Windows PowerShell ausgeführt. Der Webdienst schreibt diese Anforderung in die Automation-Datenbank, wo sie von einem der Automation Worker-Server abgerufen wird.

Wenn die RunbookWorker-Eigenschaft des Runbooks aufgefüllt wird, wird der Auftrag von diesem Workerserver gewartet. Wenn der Workerserver nicht verfügbar ist, schlägt der Auftrag mit einem Fehler fehl. Wenn die RunbookWorker-Eigenschaft des Runbooks nicht aufgefüllt wird, wählt SMA zufällig einen verfügbaren Workerserver aus, um die Anforderung zu verarbeiten.

Der Workerserver erstellt einen Auftrag, der auf dem Workerserver ausgeführt wird, der die Anforderung verarbeitet und remote auf alle Computer oder anderen Ressourcen zugreift, mit denen er arbeiten soll. Dafür müssen die Cmdlets im Runbook remote auf diese Ressourcen zugreifen können. Alternativ kann das Runbook einen InlineScript -Befehl enthalten, um PowerShell-Remoting zum lokalen Ausführen von Befehlen auf einem Zielcomputer zu verwenden. Dieses Konzept wird im folgenden Diagramm veranschaulicht.

Runbookausführungsdiagramm.

Wenn ein Auftrag angehalten oder unterbrochen wird, wird dieser möglicherweise auf einem anderen Workerserver fortgesetzt. Daher sollten Sie vorsichtig sein, wenn Sie lokale Ressourcen verwenden, auf die nicht für alle Workerserver zugegriffen werden kann, z. B. eine Datei auf einem lokalen Computer. Sie sollten globale Ressourcen wie Variablen so weit wie möglich verwenden, um Informationen zwischen Prüfpunkten auszutauschen.

Berechtigungen

Damit ein Runbook die erforderlichen Aktionen durchführen kann, muss es über Berechtigungen für den Zugriff auf Ressourcen verfügen, mit denen es arbeitet. Runbooks in SMA werden immer im Kontext des Dienstkontos des Automation Runbook Service ausgeführt. Wenn dieses Konto nicht über die erforderlichen Berechtigungen verfügt, können Sie entweder eine Anmeldeinformationen - oder eine globale Verbindungsressource in Ihrem Runbook verwenden, um die erforderlichen Befehle mithilfe von Anmeldeinformationen mit den erforderlichen Berechtigungen auszuführen. Diese Anmeldeinformationen können entweder mit einem Cmdlet, das über einen Parameter Anmeldeinformationen zulässt, oder mit InlineScript zum Ausführen eines Codeblocks unter Verwendung von alternativen Anmeldeinformationen verwendet werden.

Nächste Schritte