Erstellung von Runbooks für Service Management Automation

Runbooks in Service Management Automation und Microsoft Azure Automation sind Windows PowerShell-Workflows oder PowerShell-Skripts. Sie stellen die Möglichkeit bereit, Verwaltungsprozesse für das Verwalten und Bereitstellen von Cloud-Servern oder jede andere Funktion zu automatisieren, die ein Windows PowerShell-Skript ausführen kann.

Die Runbooks der beiden Systeme unterscheiden sich nicht, und ein und dasselbe Runbook kann auf beiden Systemen mit identischer Funktionalität ausgeführt werden. Wenn der Begriff Automation in diesem Artikel verwendet wird, bezieht er sich sowohl auf Service Management Automation als auch auf Microsoft Azure Automation.

Zu den zusätzlichen Diensten, die Automation für die Arbeit mit Windows PowerShell Workflows bereitstellt, gehören die folgenden:

  • Zentralisiertes Speichern und Verwalten von Runbooks.

  • Skalierbare Architektur für das Planen und Ausführen von Runbooks.

  • Globale Ressourcen, die zentral verwaltet werden und für alle Runbooks verfügbar sind.

  • Benutzeroberfläche für das Erstellen und Testen von Runbooks.

  • Satz von Cmdlets zum Verwalten und Starten von Runbooks.

Erstellen oder Importieren eines Runbook

Sie können ein Runbook zu Service Management Automation hinzufügen, indem Sie es entweder im Verwaltungsportal erstellen oder aus einer Datei importieren.

Erstellen Sie ein Runbook im Verwaltungsportal

  1. Wählen Sie im Verwaltungsportal Neu, App-Dienste, Automatisierung, Runbook, Schnellerstellung.

  2. Geben Sie die erforderlichen Informationen ein, und wählen Sie Erstellen. Der Runbook-Name muss mit einem Buchstaben beginnen und kann Buchstaben, Zahlen, Unterstriche und Bindestriche enthalten.

  3. Wenn Sie das Runbook jetzt bearbeiten möchten, dann wählen Sie Runbook bearbeiten. Andernfalls wählen Sie OK.

  4. Ihr neues Runbook wird auf der Registerkarte Runbooks angezeigt.

Importieren eines Runbook aus einer Datei

  1. Wählen Sie im Verwaltungsportal Automatisierung und dann ein Automatisierungskonto aus.

  2. Klicken Sie auf Importieren.

  3. Wählen Sie Datei suchen und suchen Sie die zu importierende Skriptdatei.

  4. Wenn Sie das Runbook jetzt bearbeiten möchten, wählen Sie Runbook bearbeiten. Andernfalls wählen Sie OK.

  5. Ihr neues Runbook wird auf der Registerkarte Runbooks für das Automatisierungskonto angezeigt.

Importieren eines Runbooks aus einer Skriptdatei mit Windows PowerShell

Sie können das Cmdlet Import-SmaRunbook verwenden, um ein neues Runbook aus einer Skriptdatei zu erstellen, die einen Workflow enthält.

Die folgenden Beispielbefehle zeigen, wie Sie eine Skriptdatei in ein bestehendes Runbook importieren und dann veröffentlichen.

$webServer = 'https://MyServer'
$port = 9090
$runbookName = "Test-Runbook"
$scriptPath = "c:\runbooks\Test-Runbook.ps1"

Import-SmaRunbook -WebServiceEndpoint $webServer -Port $port -Path $scriptPath
Publish-SMARunbook -WebServiceEndpoint $webServer -Port $port -Name $runbookName

Bearbeiten eines Runbooks

Jedes Runbook in Service Management Automation hat zwei Versionen: Entwurf und Veröffentlicht. Sie bearbeiten die Entwurfsversion des Workflows und veröffentlichen ihn dann, damit er ausgeführt werden kann. Die veröffentlichte Version kann nicht bearbeitet werden.

Bearbeiten eines Runbook mit dem Verwaltungsportal

Das Verwaltungsportal enthält einen Editor, mit dem Sie Runbooks anzeigen und bearbeiten können. Zusätzlich zu den grundlegenden Textbearbeitungsfunktionen stellt der Editor die Möglichkeit bereit, automatisch Code für Runbooks, globale Assets und Aktivitäten einzufügen.

  1. Wählen Sie im Verwaltungsportal Automatisierung.

  2. Wählen Sie die Registerkarte Runbooks .

  3. Wählen Sie den Namen des Runbook, das Sie bearbeiten möchten.

  4. Wählen Sie die Registerkarte Autor aus.

  5. Wählen Sie entweder Entwurf am oberen Rand des Bildschirms oder die Schaltfläche Bearbeiten am unteren Rand des Bildschirms.

  6. Nehmen Sie die gewünschten Änderungen vor.

  7. Wählen Sie Speichern, wenn Sie Ihre Bearbeitungen abgeschlossen haben.

  8. Wählen Sie Veröffentlichen, wenn die letzte Entwurfsversion des Runbook veröffentlicht werden soll.

Wählen Sie die erforderliche Registerkarte aus, um Code für Runbooks, globale Objekte und Aktivitäten einzufügen:

Gehen Sie folgendermaßen vor, um Code in ein Runbook einzufügen:

  1. Öffnen Sie das Runbook im Editor des Verwaltungsportals.

  2. Wählen Sie unten auf dem Bildschirm Einfügen und dann Runbook.

  3. Wählen Sie das einzufügende Runbook in der mittleren Spalte aus und klicken Sie auf den Pfeil nach rechts.

  4. Wenn das Runbook über Parameter verfügt, werden sie zur Information aufgelistet.

  5. Wählen Sie die Schaltfläche „Überprüfen“.

  6. Der Code zur Ausführung des ausgewählten Runbook wird in das aktuelle Runbook eingefügt.

  7. Wenn das Runbook Parameter erfordert, geben Sie anstelle des in Klammern<> eingeschlossenen Datentyps einen entsprechenden Wert an.

Bearbeiten eines Automatisierungs-Runbook mit PowerShell

Um ein Runbook mit Windows PowerShell zu bearbeiten, bearbeiten Sie den Workflow mit einem Editor Ihrer Wahl und speichern ihn in einer .ps1-Datei. Sie können das Cmdlet Get-SMARunbookDefinition verwenden, um den Inhalt des Runbook zu erhalten, und dann das Cmdlet Edit-SMARunbook, um den vorhandenen Entwurf des Workflows durch den geänderten zu ersetzen.

So empfangen Sie den Inhalt eines Runbook mit Windows PowerShell

Die folgenden Beispielbefehle zeigen, wie das Skript für ein Runbook abgerufen und in einer Skriptdatei gespeichert wird. In diesem Beispiel wird die Entwurfsversion abgerufen. Sie können auch die veröffentlichte Version des Runbooks abrufen, auch wenn diese Version nicht geändert werden kann.

$webServer = 'https://MyServer'
$port = 9090
$runbookName = "Test-Runbook"
$scriptPath = "c:\runbooks\Test-Runbook.ps1"

$runbookDefinition = Get-SMARunbookDefinition -WebServiceEndpoint $webServer -Port $port -Name $runbookName -Type Draft
$runbookContent = $runbookDefinition.Content

Out-File -InputObject $runbookContent -FilePath $scriptPath

So ändern Sie den Inhalt eines Runbook mit Windows PowerShell

Die folgenden Beispielbefehle zeigen, wie Sie den vorhandenen Inhalt eines Runbook durch den Inhalt einer Skriptdatei ersetzen, die einen Workflow enthält.

$webServer = 'https://MyServer'
$port = 9090
$runbookName = "Test-Runbook"
$scriptPath = "c:\runbooks\Test-Runbook.ps1"

Edit-SmaRunbook -WebServiceEndpoint $webServer -Port $port -Name $runbookName -Path $scriptPath -Overwrite
Publish-SmaRunbook -WebServiceEndpoint $webServer -Port $port -Name $runbookName -Path $scriptPath

Bearbeiten eines Automatisierungs-Runbook mit PowerShell ISE

Windows PowerShell Integrated Scripting Environment (ISE) ist eine Anwendung, mit der Sie Befehle ausführen und Skripts schreiben, testen und debuggen können. Das SMA PowerShell ISE Add-on ermöglicht es Ihnen, dieses Tool zum Schreiben und Testen von Automation-Runbooks zu verwenden.

  1. Öffnen Sie Windows PowerShell ISE.

  2. Wenn das SMA ISE Add-on nicht auf der rechten Seite der ISE angezeigt wird, öffnen Sie das Menü Add-ons und aktivieren Sie SMA ISE Add-on.

  3. Melden Sie sich bei SMA auf der Registerkarte Konfiguration an.

  4. Wählen Sie die Registerkarte Runbook. Sie sollten eine Liste der SMA Runbooks sehen.

  5. Markieren Sie das Runbook, das Sie bearbeiten möchten, und wählen Sie Download. Dadurch wird eine lokale Kopie des Runbook von SMA heruntergeladen.

  6. Wählen Sie Öffnen aus. Dadurch wird eine neue Registerkarte mit dem Runbook erstellt.

  7. Nehmen Sie die erforderlichen Änderungen am Runbook vor.

  8. Wählen Sie Entwurf hochladen, um das Runbook an SMA zu senden. Dadurch wird die vorhandene Entwurfsversion des Runbooks überschrieben.

  9. Wählen Sie Entwurf veröffentlichen, wenn Sie die letzte Entwurfsversion des Runbook veröffentlichen möchten.

Veröffentlichen Ihres Runbook

Nachdem Sie Ihr Runbook erstellt haben, müssen Sie es veröffentlichen, damit es der Runbook-Worker ausführen kann. Für jedes Runbook in Service Management Automation gibt es eine Entwurfs- und eine Veröffentlichungsversion. Nur die veröffentlichte Version kann ausgeführt werden, und nur die Entwurfsversion kann bearbeitet werden. Die veröffentlichte Version bleibt von Änderungen an der Entwurfsversion unberührt. Wenn Sie bereit sind, die Entwurfsversion verfügbar zu machen, veröffentlichen Sie sie, wodurch die veröffentlichte Version mit der Entwurfsversion überschrieben wird.

Veröffentlichen eines Runbook mithilfe des Azure-Portals

  1. Wählen Sie den Arbeitsbereich Automation.

  2. Wählen Sie oben auf dem Bildschirm Runbooks.

  3. Suchen Sie das zu bearbeitende Runbook und klicken Sie auf seinen Namen.

  4. Wählen Sie oben auf dem Bildschirm Erstellen.

  5. Wählen Sie Entwurf.

  6. Wählen Sie am unteren Rand des Bildschirms Veröffentlichen.

  7. Wählen Sie Ja für die Bestätigungsnachricht.

Veröffentlichen eines Runbooks mithilfe von PowerShell

Sie können das Publish-SmaRunbook verwenden, um ein Runbook mit Windows PowerShell zu veröffentlichen. Die folgenden Beispielbefehle zeigen, wie man ein Runbook veröffentlicht.

$webServer = 'https://MyServer'
$port = 9090
$runbookPath = 'c:\runbooks\Sample-TestRunbook.ps1'
$runbookName = 'Test-Runbook'

Publish-SmaRunbook -WebServiceEndpoint $webServer -Port $port -Name $runbookName

Veröffentlichen eines Runbook mithilfe von PowerShell ISE

Windows PowerShell Integrated Scripting Environment (ISE) ist eine Anwendung, mit der Sie Befehle ausführen und Skripts schreiben, testen und debuggen können. Das SMA PowerShell ISE Add-on ermöglicht es Ihnen, dieses Tool zum Schreiben und Testen von Automation-Runbooks zu verwenden.

  1. Öffnen Sie Windows PowerShell ISE.

  2. Wenn das SMA ISE Add-on nicht auf der rechten Seite der ISE angezeigt wird, öffnen Sie das Menü Add-ons und aktivieren Sie SMA ISE Add-on.

  3. Melden Sie sich bei SMA auf der Registerkarte Konfiguration an.

  4. Wählen Sie die Registerkarte Runbook. Sie sollten eine Liste der SMA Runbooks sehen.

  5. Wählen Sie das Runbook aus und wählen Sie Entwurf veröffentlichen, um die letzte Entwurfsversion des Runbook zu veröffentlichen.

Testen Ihres Runbook

Sie können die Entwurfsversion eines Runbook in Service Management Automation testen, während die veröffentlichte Version des Runbook unverändert bleibt. Auf diese Weise stellen Sie sicher, dass das Runbook ordnungsgemäß arbeitet, bevor Sie die veröffentlichte Version ersetzen.

Wenn Sie ein Runbook testen, wird die Entwurfsversion des Runbooks ausgeführt, und alle darin ausgeführten Aktionen werden abgeschlossen. Es wird kein Auftragsverlauf erstellt, aber die Streams Ausgabe und Warnung und Fehler werden im Testausgabebereich angezeigt. Nachrichten an den Verbose Stream werden im Ausgabebereich nur angezeigt, wenn die Variable $VerbosePreference auf Continue festgelegt ist.

Wenn Sie ein Runbook testen, führt es den Workflow weiterhin normal aus und führt alle Aktionen für die Ressourcen in der Umgebung durch. Aus diesem Grund sollten Sie Runbooks nur mit Nicht-Produktionsressourcen testen.

Testen eines Runbook in Service Management Automation

Um ein Runbook zu testen, öffnen Sie die Entwurfsversion des Runbook im Verwaltungsportal. Wählen Sie die Schaltfläche Test am unteren Rand des Bildschirms, um den Test zu starten.

Mit den Schaltflächen unter dem Ausgabebereich können Sie das Runbook anhalten oder unterbrechen, während es getestet wird. Wenn Sie das Runbook anhalten, wird die aktuelle Aktivität vor der Unterbrechung abgeschlossen. Nachdem das Runbook angehalten wurde, können Sie es beenden oder erneut starten.

Testen eines Runbook mit PowerShell ISE

Das PowerShell ISE Add-on stellt Cmdlets bereit, die die Standardaktivitäten wie Get-SMACredential und Set-SMAVariable emulieren, sodass Sie das Runbook auf dem lokalen Computer wie jedes andere Skript testen können.

Globale Assets und ihre Werte werden von der Automatisierungsgruppe heruntergeladen und für lokale Tests verwendet. Sie können diese Werte auf der Registerkarte Assets einsehen oder ändern. Verschlüsselte Werte werden orange angezeigt, und ihre Werte werden nicht heruntergeladen. Wenn Sie diese Assets in lokalen Tests verwenden wollen, müssen Sie ihren Wert lokal festlegen.

Um das Runbook in SMA zu testen, wählen Sie Testen des Entwurfs in SMA. Ein neues Fenster wird geöffnet. Wählen Sie Starten eines neuen Auftrags, um den Test zu starten. Die Ausgabe wird im Fenster angezeigt.

Beispiele für Automation-Runbooks

Die folgenden Runbooks werden mit Service Management Automation als Beispiel-Runbooks ausgeliefert, um Techniken und bewährte Verfahren zu veranschaulichen. Sie können in der Automation-Erweiterung von Microsoft Azure Pack für Windows Server verwendet werden.

Runbookname Beschreibung
Beispiel: Löschen eines VMCloud-Abonnements Zeigt ein nützliches Szenario zum Auslösen eines Runbook, wenn ein Benutzender ein VM Clouds-Abonnement löscht.
Beispiel-Verwaltung-Azure Zeigt, wie man eine Verbindung zu einem Microsoft Azure-Abonnement herstellt und grundlegende Vorgänge mit dem Microsoft Azure PowerShell-Modul durchführt.
Beispiel-Verwaltung-ConfigurationManager Demonstriert die Fähigkeit von Service Management Automation, eine Verbindung zu Configuration Manager herzustellen.
Beispiel-Verwaltung-DataProtectionManager Zeigt, wie Sie eine Verbindung zu einem Data Protection Manager (DPM)-Server herstellen und Informationen über die auf dem DPM-Server gefundenen Datenträger anzeigen können.
Beispiel: Verwalten von MySQL-Servern Zeigt, wie man ein Sicherheits-Token erhält, mit dem dann eine Liste von Hostservern abgerufen werden kann.
Beispiel-Verwaltung-Operations-Manager Demonstriert die Fähigkeit von Service Management Automation, sich mit System Center Operations Manager zu verbinden.
Beispiel-Verwaltungs-Orchestrator Zeigt, wie Sie eine Verbindung zu System Center Orchestrator herstellen und ein Orchestrator-Runbook starten, um Ihre bestehende Infrastruktur zu nutzen.
Beispiel-Pläne-Verwalten Veranschaulicht, wie Sie einen neuen Plan erstellen und den SQL Server-Dienst mit einem definierten Kontingent zum neuen Plan hinzufügen.
Beispiel-Verwalten von ServiceBusClouds Zeigt, wie man eine Verbindung zu einem Service Bus Cloud-Server herstellt und Informationen über die erstellten Namespaces anzeigt.
Beispiel-Verwaltung-SQLServer Zeigt, wie man eine neue Servergruppe erstellt und einen SQL-Hostingserver hinzufügt.
Beispiel-Verwaltung-Benutzerkonten Veranschaulicht, wie Sie einen Benutzer in Microsoft Azure Pack für Windows Server erstellen, der in Microsoft Azure Pack erstellt und im Verwaltungsportal für Administratoren-Benutzererweiterung erscheint. Allerdings sollte dieser Benutzende auch in den Authentifizierungsprovider (z.B. AuthSite) für den Zugriff auf das Verwaltungsportal für die Mandanten eingebunden werden, was in diesem Beispiel nicht vorgesehen ist.
Beispiel-Verwaltung-VirtualMachineManager Zeigt, wie Sie eine Verbindung zu einem Virtual Machine Manager (VMM)-Server herstellen und Informationen über die VMM-Serverlizenz anzeigen.
Beispiel-Verwalten-VMClouds Zeigt, wie man auf Informationen über die Datenbankverbindung eines Service Provider Foundation-Servers und Informationen über die von Service Provider Foundation verwalteten VMM-Serverobjekte zugreift.
Beispiel-Verwalten-WebSiteCloud Zeigt, wie man sich mit einem Web Site Clouds-Kontrollserver verbindet und Informationen über die bereitgestellten Web Site Clouds-Server anzeigt.
Beispiel-VMCloud-Abonnement-Ändern Zeigt ein nützliches Szenario zum Auslösen eines Runbook, wenn ein Mandant oder Administrator ein VM Clouds-Abonnement unterbricht oder aktiviert.
Beispiel-Verwenden-Aktivitäten Demonstriert die Fähigkeit von Service Management Automation, Aktivitäten zu nutzen
Beispiel-Verwenden-Checkpoints Demonstriert die Fähigkeit, Checkpoints in Service Management Automation zu verwenden.
Beispiel-Verwenden-Verbindungen Demonstriert die Fähigkeit von Service Management Automation, Verbindungen zum Herstellen einer Verbindung mit Remotesystemen zu verwenden.
Beispiel-Verwenden-Anmeldeinformationen Demonstriert die Fähigkeit von Service Management Automation, Anmeldeinformationen zu verwenden, und gibt den Benutzenden aus, unter dem das Runbook von Service Management Automation läuft. Anschließend wird eine Verbindung zum Server „ServerName“ hergestellt und der durch „SampleCredential“ angegebene Benutzende, der auf den Server zugreift, ausgegeben.
Beispiel-Verwenden-Module Demonstriert den Import von Modulen in Runbooks und gibt die Anzahl der bereits importierten Module auf dem Server 'ServerName' aus. Dann importiert es das durch „ModulePath“ angegebene Modul und gibt die Anzahl der neuen Module und die dem neu importierten Modul entsprechenden Informationen aus.
Beispiel-Verwenden-RunbookParameters Zeigt, wie man Eingabeparameter für Runbooks verwendet und außerdem festlegt, ob Parameter erforderlich sind, Standardparameterwerte bereitstellt und Parameterwerte später im Workflow verwendet.
Beispiel-Verwenden-Runbooks Zeigt, wie man ein Runbook aus einem anderen Runbook heraus aufruft.
Sample-Using-SuspendWorkflow Veranschaulicht, wie sie das Anhalten eines Runbook erzwingen. Dies kann hilfreich sein, wenn ein manueller Schritt erforderlich ist, bevor ein Runbook fortgesetzt werden soll, z. B. das Empfangen der Abmeldegenehmigung von einer bestimmten Person. Sobald der manuelle Schritt abgeschlossen ist, wird das angehaltene Runbook manuell wieder aufgenommen, um das Runbook fortzusetzen.
Sample-Using-Variables Demonstration der Fähigkeit von Service Management Automation, Variablen zu verwenden.
Sample-Using-VMCloud-Automation Veranschaulicht ein nützliches Szenario zum Auslösen eines Runbook am Anfang eines Service Provider Foundation-Ereignisses.

Nächste Schritte

  • Lesen Sie mehr darüber, wie Sie ein Runbook von einem anderen Runbook aus aufrufen können.
  • Erfahren Sie, wie Sie mit Integrationsmodulen arbeiten.