Teilen über


Verwalten von Runbooks für die Dienstverwaltungsautomatisierung

Als SMA-Administrator (Service Management Automation) müssen Sie Runbooks konfigurieren und ausführen. Aktivitäten, einschließlich der Einrichtung der Runbook-Mitarbeiter und der Planung und Nachverfolgung von Runbooks. Es gibt zwei Systemrunbooks, die zusätzlich zu den von Ihnen erstellten Runbooks in SMA enthalten sind:

  • DiscoverAllLocalModules: Wird unmittelbar nach der Installation eines Runbook-Workers ausgeführt. Dieses Runbook ermittelt alle systemeigenen Module auf dem Windows Server-System, auf dem der Runbook-Worker installiert ist. Es extrahiert Aktivitäten und Aktivitätsmetadaten für diese Module, damit ihre Aktivitäten verwendet werden können, wenn Sie Runbooks in Microsoft Azure Pack erstellen.
  • SetAutomationModuleActivityMetadata: Wird unmittelbar nach dem Importieren eines Moduls in SMA ausgeführt. Dieses Runbook extrahiert Aktivitäten und Aktivitätsmetadaten aus einem neu importierten Modul, sodass seine Aktivitäten verwendet werden können, wenn Sie Runbooks in Microsoft Azure Pack erstellen.

Konfigurieren von Runbook-Workern

Wenn Sie einen Runbook-Auftrag in SMA starten, wird er standardmäßig von einem zufälligen Runbook-Worker ausgewählt. Möglicherweise möchten Sie jedoch einen bestimmten Runbook-Worker verwenden. Verwenden Sie dazu die RunbookWorker-Eigenschaft . Erfahren Sie mehr über die Ausführung des Runbooks.

Legen Sie einen Runbook-Worker mit dem PowerShell ISE-Add-On fest.

  1. Melden Sie sich bei der SMA ISE-Add-On-Konfiguration >mit Ihrem SMA-Konto an. Nach der Anmeldung können Sie Ihre Runbooks auf der Registerkarte "Runbooks " sehen.
  2. Wählen Sie auf der Registerkarte "Runbooks " einen oder mehrere Runbooks aus, die für einen bestimmten Runbook-Worker ausgeführt werden sollen.
  3. Wählen Sie "Konfigurieren" und unter "Runbook-Eigenschaften konfigurieren" im Dropdownmenü einen Runbook-Worker aus.
  4. Wählen Sie " Änderungen vornehmen" aus.

Festlegen eines Runbook-Workers über das SMA PowerShell-Modul

Sie können die Runbook-Workereigenschaft auch mit dem folgenden Befehlszeilenbefehl festlegen:

$webServer = 'https://MyServer'
$port = 9090
$runbookName = "Sample-TestRunbook"
$workerName = "Worker1"

Set-SmaRunbookConfiguration -WebServiceEndpoint $webServer -Port $port -Name $runbookName -RunbookWorker $workerName

Sie können eine Liste aller runbook-Worker sehen, die wie folgt bereitgestellt werden:

$webServer = 'https://MyServer'
$port = 9090

Get-SmaRunbookWorkerDeployment -WebServiceEndpoint $webServer -Port $port

Hinweis

Sie können derzeit nicht das Microsoft Azure Pack-Portal verwenden, um einen Runbook-Worker festzulegen. Verwenden Sie entweder das SMA ISE-Add-On oder powerShell-Cmdlets.

Planen von Runbooks

Um ein Runbook zu einem bestimmten Zeitpunkt zu starten, verknüpfen Sie es mit einem oder mehreren Zeitplänen. Ein Zeitplan kann so konfiguriert werden, dass er einmal ausgeführt wird oder so festgelegt ist, dass er erneut auftritt. Ein Runbook kann mit mehreren Zeitplänen verknüpft werden, und mit einem Zeitplan können mehrere Runbooks verknüpft sein.

Erstellen eines Zeitplans

Sie können einen Zeitplan mit dem Verwaltungsportal oder mit Windows PowerShell erstellen.

Erstellen eines Zeitplans im Verwaltungsportal

  1. Wählen Sie im Verwaltungsportal die Option "Automatisierung" aus.
  2. Wählen Sie auf der Registerkarte "Assets" die Option "Einstellung>hinzufügen Zeitplan hinzufügen" aus.
  3. Geben Sie einen Namen und eine Beschreibung für den neuen Zeitplan ein, und wählen Sie aus, ob er einmal oder täglich ausgeführt wird.
  4. Geben Sie eine Startzeit und die anderen Optionen nach Bedarf an. Die Zeitzone der Startzeit entspricht der Zeitzone des lokalen Computers.

Erstellen eines Zeitplans mit Windows PowerShell

Sie können das Cmdlet Set-SmaSchedule verwenden, um einen Zeitplan zu erstellen oder einen vorhandenen Zeitplan zu ändern. Sie müssen die Startzeit für den Zeitplan angeben und angeben, ob sie einmal oder wiederholt ausgeführt werden soll.

Im folgenden Beispiel wird ein neuer Zeitplan namens "Mein täglicher Zeitplan" erstellt. Es beginnt am aktuellen Tag und fährt jeden Tag um Mittag für ein Jahr fort.

$webServer = 'https://MyServer'
$port = 9090
$scheduleName = 'My Daily Schedule'
$startTime = (Get-Date).Date.AddHours(12)
$expiryTime = $startTime.AddYears(1)

Set-SmaSchedule -WebServiceEndpoint $webServer -Port $port -Name $scheduleName -ScheduleType OneTimeSchedule -StartTime $startTime -ExpiryTime $expiryTime -DayInterval 1

Ein Runbook kann mit mehreren Zeitplänen verknüpft werden, und mit einem Zeitplan können mehrere Runbooks verknüpft sein. Wenn ein Runbook Parameter enthält, können Sie Werte angeben, die verwendet werden können, wenn das Runbook gestartet wird. Sie müssen Werte für alle obligatorischen Parameter angeben.

  1. Wählen Sie im Verwaltungsportal Automatisierungsrunbooks> aus.
  2. Wählen Sie den Namen des runbook aus, das geplant werden soll, und wählen Sie die Registerkarte "Zeitplan " aus.
  3. Wenn das Runbook derzeit mit einem Zeitplan verknüpft ist, wählen Sie "Link" aus. Wählen Sie dann "Link zu einem neuen Zeitplan" aus, und erstellen Sie eine neue, oder wählen Sie "Mit einem vorhandenen Zeitplan verknüpfen" und dann einen Zeitplan aus.
  4. Wenn das Runbook über Parameter verfügt, werden Sie zur Eingabe von Werten für diese Parameter aufgefordert.

Sie können das Start-SmaRunbook mit dem Parameter ScheduleName verwenden, um einen Zeitplan mit einem Runbook zu verknüpfen. Sie können Werte mit dem Parameter Parameters angeben. Weitere Informationen zu Parameterwerten.

Die folgenden Beispielbefehle zeigen, wie ein Zeitplan mit einem Runbook verknüpft wird.

$webServer = 'https://MyServer'
$port = 9090
$runbookName = "Test-Runbook"
$scheduleName = "Sample-DailySchedule"

Start-SmaRunbook -WebServiceEndpoint $webServer -Port $port -Name $runbookName -ScheduleName $scheduleName -Parameters $params

Nachverfolgen von Runbooks

Wenn Sie ein Runbook in SMA starten, wird ein Auftrag erstellt. Ein Auftrag ist eine einzelne Ausführungsinstanz eines Runbooks. Ein einzelnes Runbook kann mehrere Aufträge haben, die jeweils einen eigenen Wertesatz für die Runbook-Parameter enthalten.

  • Wenn die RunbookWorker-Eigenschaft des Runbook ausgefüllt ist, wird der Workerserver den Auftrag diensten.
  • Wenn der Workerserver nicht verfügbar ist, schlägt der Auftrag mit einem Fehler fehl.
  • Wenn die RunbookWorker-Eigenschaft nicht ausgefüllt ist, wählt SMA zufällig einen verfügbaren Workerserver aus, um die Anforderung zu bedienen.

Das folgende Diagramm zeigt den Lebenszyklus eines Runbook-Auftrags für PowerShell-Workflow-Runbooks.

Diagramm, das den PowerShell-Workflow zeigt.

Das folgende Diagramm zeigt den Lebenszyklus eines Runbookauftrags für PowerShell-Skript-Runbooks.

Diagramm mit dem PowerShell-Skript.

Auftragsstatus

Die folgende Tabelle beschreibt die verschiedenen Status, die für einen Auftrag möglich sind.

Status Beschreibung
Abgeschlossen Der Auftrag wurde erfolgreich abgeschlossen.
Fehler Der Auftrag endete mit einer Ausnahme.
In Warteschlange Der Auftrag wartet darauf, dass Ressourcen für einen Automation-Worker verfügbar werden, damit er gestartet werden kann.
Wird gestartet Der Auftrag wurde einem Worker zugewiesen, und das System ist in Begriff, ihn zu starten.
Wird fortgesetzt Das System ist in Begriff, den Auftrag fortzusetzen, nachdem er angehalten wurde.
Wird ausgeführt Der Auftrag wird ausgeführt.
Beendet Der Auftrag wurde vom Benutzer beendet, bevor er abgeschlossen wurde.
Wird beendet Das System ist in Begriff, den Auftrag zu beenden.
Angehalten Der Auftrag wurde vom Benutzer, vom System oder von einem Befehl im Runbook angehalten. Ein angehaltener Auftrag kann erneut gestartet werden. Er wird vom letzten Prüfpunkt oder vom Anfang des Runbook fortgesetzt, wenn er keine Prüfpunkte enthält.

Das Runbook wird nur vom System im Falle einer Ausnahme angehalten, die eine Möglichkeit zum Fortsetzen hat. Standardmäßig ist ErrorActionPreference auf "Weiter" festgelegt, d. h., der Auftrag wird beim Auftreten einer Ausnahme weiterhin ausgeführt. Wenn diese Variable auf "Stop" festgelegt ist, wird der Auftrag angehalten, wenn eine Ausnahme auftritt.
Wird angehalten Das System versucht, den Auftrag auf Anforderung des Benutzers anzusetzen. Das Runbook muss den nächsten Prüfpunkt erreichen, bevor es angehalten werden kann. Wenn er den letzten Prüfpunkt bereits bestanden hat, wird er abgeschlossen, bevor er angehalten werden kann.

Anzeigen des Auftragsstatus im Verwaltungsportal

Das Automatisierungsdashboard zeigt eine Zusammenfassung aller Runbooks in der SMA-Umgebung.

  • Das Zusammenfassungsdiagramm zeigt die Gesamtzahl der Aufträge für alle Runbooks, die während einer bestimmten Anzahl von Tagen oder Stunden den jeweiligen Status erreicht haben.
  • Sie können in der oberen rechten Ecke des Diagramms einen Zeitraum auswählen.
  • Die Zeitachse des Diagramms ändert sich entsprechend dem von Ihnen ausgewählten Zeitraumtyp.
  • Sie können auswählen, ob die Zeile für einen bestimmten Status angezeigt werden soll, indem Sie oben auf dem Bildschirm darauf klicken.

Zeigen Sie das Dashboard wie folgt an:

  1. Wählen Sie im Verwaltungsportal die Option "Automatisierung" aus.
  2. Klicken Sie auf die Registerkarte Dashboard .

Anzeigen des Dashboards

Das Runbook-Dashboard zeigt eine Zusammenfassung für ein einzelnes Runbook. Das Zusammenfassungsdiagramm zeigt die Gesamtzahl der Aufträge für das Runbook, die während einer bestimmten Anzahl von Tagen oder Stunden den jeweiligen Status erreicht haben. Sie können den Zeitraum in der oberen rechten Ecke des Diagramms auswählen. Die Zeitachse des Diagramms ändert sich entsprechend dem von Ihnen ausgewählten Zeitraumtyp. Sie können auswählen, ob die Zeile für einen bestimmten Status angezeigt werden soll, indem Sie oben auf dem Bildschirm darauf klicken.

Zeigen Sie das Dashboard wie folgt an:

  1. Wählen Sie im Verwaltungsportal die Option "Automatisierung" aus.
  2. Wählen Sie den Namen eines Runbook aus.
  3. Klicken Sie auf die Registerkarte Dashboard .

Anzeigen von Auftragsdetails

Sie können eine Liste aller Aufträge, die für ein bestimmtes Runbook erstellt wurden, sowie deren aktuellen Status anzeigen.

  • Sie können die Liste nach Auftragsstatus und Datumsbereich für die letzte Änderung an dem Auftrag filtern.
  • Wählen Sie den Namen eines Auftrags aus, um die detaillierten Informationen und die Ausgabe anzuzeigen.
  • Die Detailansicht des Auftrags enthält die Werte für die Runbookparameter, die für diesen Auftrag bereitgestellt wurden.
  • Der Auftragsverlauf enthält Ausgabe-, Warnungs- und Fehlermeldungen mit Zeitstempeln, die beim Erstellen des Datensatzes vorliegen.
  • Erfahren Sie mehr über die Runbookausgabe und -nachrichten.
  • Die Quelle für einen Auftrag ist der Quellcode des Workflows, wenn der Auftrag ausgeführt wurde. Dies entspricht möglicherweise nicht der aktuellen Version des Runbook, wenn sie nach der Ausführung des Auftrags aktualisiert wurde.

Zeigen Sie die Aufträge für ein Runbook mithilfe der folgenden Schritte an.

  1. Wählen Sie im Verwaltungsportal die Option "Automatisierung" aus.
  2. Wählen Sie den Namen eines Runbook aus, und wählen Sie die Registerkarte "Aufträge " aus.
  3. Wählen Sie die Spalte "Auftrag erstellt" für einen Auftrag aus, um details und ausgabe anzuzeigen.
  4. Wählen Sie die Registerkarte "Verlauf " aus, um den Auftragsverlauf anzuzeigen. Wählen Sie einen Verlaufsdatensatz aus, und wählen Sie unten auf dem Bildschirm "Details anzeigen" aus, um eine detaillierte Ansicht des Datensatzes anzuzeigen.
  5. Wählen Sie auf der Registerkarte "Verlauf" die Option "Quelle anzeigen" aus.

Abrufen des Auftragsstatus mithilfe von Windows PowerShell

Sie können get-SmaJob verwenden, um die aufträge abzurufen, die für ein Runbook erstellt wurden, und die Details eines bestimmten Auftrags.

  • Wenn Sie ein Runbook mit Windows PowerShell mit Start-SmaRunbook starten, wird der resultierende Auftrag zurückgegeben.
  • Verwenden Sie Get-SmaJobOutput , um die Ausgabe eines Auftrags abzurufen.

Mit dem folgenden Beispielbefehl wird der letzte Auftrag für ein Beispiel-Runbook abgerufen und deren Status, die für die Runbookparameter bereitgestellten Werte und die Ausgabe des Auftrags angezeigt.

$webServer = 'https://MyServer'
$port = 9090
$runbookName = "Test-Runbook"

$job = (Get-SmaJob -WebServiceEndpoint $webServer -Port $port -RunbookName $runbookName | sort LastModifiedDate -desc)[0]
$job.Status
$job.JobParameters
Get-SmaJobOutput -WebServiceEndpoint $webServer -Port $port -Id $job.Id -Stream Output

Konfigurieren von Runbookeinstellungen

Jedes Runbook verfügt über mehrere Einstellungen. Sie können diese Einstellungen verwenden, um Runbooks zu finden und zu verwalten. Sie können die Runbookprotokollierung auch ändern, indem Sie diese Einstellungen konfigurieren. Jede dieser Einstellungen wird unten beschrieben, gefolgt von Verfahren zum Ändern dieser Einstellungen.

Name und Beschreibung

Sie können den Namen eines Runbook nicht ändern, nachdem es erstellt wurde. Die Beschreibung ist optional und kann bis zu 512 Zeichen lang sein.

Tags

Tags ermöglichen es Ihnen, bestimmte Wörter oder Ausdrücke zuzuweisen, um ein Runbook zu identifizieren. Sie können mehrere Tags für ein Runbook angeben, wenn sie diese durch Kommas voneinander trennen.

Logging

Verbose- und Progress-Datensätze werden standardmäßig nicht in den Auftragsverlauf geschrieben. Sie können die Einstellungen für ein bestimmtes Runbook ändern, um diese Datensätze zu protokollieren. Weitere Informationen zu diesen Datensätzen finden Sie unter Runbookausgabe und Meldungen.

Festgelegter Runbook-Worker

Standardmäßig ist ein Runbook-Auftrag einem zufällig auszuführenden Runbook-Worker zugewiesen. Sie können die Einstellungen für ein bestimmtes Runbook ändern, um das Runbook für einen bestimmten Runbook-Worker auszuführen.

Ändern der Runbookeinstellungen im Verwaltungsportal

Sie können die Einstellungen für ein Runbook im Verwaltungsportal über die Seite "Konfigurieren" für das Runbook ändern.

  1. Wählen Sie im Verwaltungsportal die Option "Automatisierung" aus.

  2. Wählen Sie die Registerkarte Runbooks .

  3. Wählen Sie den Namen eines Runbook aus.

  4. Wählen Sie die Registerkarte Konfigurieren aus.

Ändern von Runbookeinstellungen mit PowerShell

Sie können das Cmdlet Set-SmaRunbookConfiguration verwenden, um alle Einstellungen für ein Runbook mit Ausnahme von Tags zu ändern. Sie können tags für die vorhandenen Runbooks nur über das Verwaltungsportal ändern und hinzufügen. Sie können Tags für Runbooks nur mit PowerShell festlegen, wenn Sie ein Runbook mit Import-SmaRunbook importieren.

Die folgenden Beispielbefehle zeigen, wie Sie die Eigenschaften für ein Runbook festlegen. In diesem Beispiel wird eine Beschreibung hinzugefügt und angegeben, dass ausführliche Datensätze protokolliert werden sollen:

$webServer = 'https://MyServer'
$port = 9090
$runbookName = "Sample-TestRunbook"

Set-SmaRunbookConfiguration -WebServiceEndpoint $webServer -Port $port -Name $runbookName -Description "Sample runbook" -LogVerbose $true

Verschlüsseln der Runbook-Worker- und SQL-Serververbindung

Sichern Sie die Verbindung zwischen den Runbook-Arbeitsprozessen und SQL Server mit SSL.

Nächste Schritte