Automatisieren Windows Azure Pack-Vorgängen mit Service Management Automation

Wichtig

Diese Version von Service Management Automation (SMA) hat das Supportende erreicht. Sie sollten ein Upgrade auf SMA 2019 durchführen.

Mithilfe von Service Management Automation Runbooks (SMA) können Sie Routinevorgänge in Ihrer Azure Pack Windows Windows Server-Umgebung automatisieren. Es gibt zwei verschiedene Arten von SMA-Runbooks:

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

PowerShell-Workflow-Runbooks

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

Vorteile

  • Implementierung der gesamten komplexen 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.
  • Kann andere PowerShell-Workflow-Runbooks als untergeordnete Runbooks enthalten, um workflows auf hoher Ebene zu erstellen.

Einschränkungen

  • Erfordern Kenntnisse mit dem PowerShell-Workflow
  • Die zusätzliche Komplexität des PowerShell-Workflows, z.B. deserialisierte Objekte, müssen vom Runbook verarbeitet werden.
  • 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, das einen neuen Auftrag erstellt, als untergeordnete Runbooks eingeschlossen werden.

PowerShell-Runbooks

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

Vorteile

  • Implementierung der gesamten komplexen 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 durchzuführen.
  • Sie können keine Prüfpunkte zum Fortsetzen von Runbooks verwenden, wenn ein Fehler auftritt.
  • PowerShell-Workflow-Runbooks können nur mithilfe des Cmdlets Start-SMARunbook, das einen neuen Auftrag erstellt, als untergeordnete Runbooks eingeschlossen werden.

Ausführen von Runbooks durch SMA

Anforderungen zum Starten eines Runbooks werden vom SMA-Webdienst entweder mit dem Service Verwaltungsportal oder dem Cmdlet Start-SmaRunbook Windows PowerShell ausgeführt. Der Webdienst schreibt diese Anforderung in die Automation-Datenbank, wo sie von einem der Automation-Workerserver abgerufen wird.

Wenn die RunbookWorker-Eigenschaft des Runbooks aufgefüllt wird, wird der Auftrag von diesem Workerserver ausgeführt. 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 nach dem Zufallsprinzip einen verfügbaren Workerserver für die Anforderung aus.

Der Workerserver erstellt einen Auftrag, der auf dem Workerserver ausgeführt wird, der die Anforderung unterstützt, und über einen Remotezugriff auf computer- oder andere Ressourcen, 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.

Runbook execution diagram

Wenn ein Auftrag angehalten oder unterbrochen wird, wird dieser möglicherweise auf einem anderen Workerserver fortgesetzt. Aus diesem Grund sollten Sie bei der Verwendung von lokalen Ressourcen vorsichtig sein, auf die nicht von allen Workerservern zugegriffen werden kann, z. B. eine Datei auf einem lokalen Computer. Sie sollten globale Ressourcen wieVariablen so weit wie möglich nutzen, um Informationen zwischen Prüfpunkten zu teilen.

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 Credentials oder eine globale Connection -Ressource in Ihrem Runbook zum Ausführen der erforderlichen Befehle mithilfe der Anmeldeinformationen mit den erforderlichen Berechtigungen verwenden. 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