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
Wählen Sie im Verwaltungsportal Neu, App-Dienste, Automatisierung, Runbook, Schnellerstellung.
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.
Wenn Sie das Runbook jetzt bearbeiten möchten, dann wählen Sie Runbook bearbeiten. Andernfalls wählen Sie OK.
Ihr neues Runbook wird auf der Registerkarte Runbooks angezeigt.
Importieren eines Runbook aus einer Datei
Wählen Sie im Verwaltungsportal Automatisierung und dann ein Automatisierungskonto aus.
Klicken Sie auf Importieren.
Wählen Sie Datei suchen und suchen Sie die zu importierende Skriptdatei.
Wenn Sie das Runbook jetzt bearbeiten möchten, wählen Sie Runbook bearbeiten. Andernfalls wählen Sie OK.
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.
Wählen Sie im Verwaltungsportal Automatisierung.
Wählen Sie die Registerkarte Runbooks .
Wählen Sie den Namen des Runbook, das Sie bearbeiten möchten.
Wählen Sie die Registerkarte Autor aus.
Wählen Sie entweder Entwurf am oberen Rand des Bildschirms oder die Schaltfläche Bearbeiten am unteren Rand des Bildschirms.
Nehmen Sie die gewünschten Änderungen vor.
Wählen Sie Speichern, wenn Sie Ihre Bearbeitungen abgeschlossen haben.
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:
- Einfügen von Code in ein Runbook
- Einfügen eines globalen Assets in ein Runbook
- Einfügen einer Aktivität in ein Runbook
Gehen Sie folgendermaßen vor, um Code in ein Runbook einzufügen:
Öffnen Sie das Runbook im Editor des Verwaltungsportals.
Wählen Sie unten auf dem Bildschirm Einfügen und dann Runbook.
Wählen Sie das einzufügende Runbook in der mittleren Spalte aus und klicken Sie auf den Pfeil nach rechts.
Wenn das Runbook über Parameter verfügt, werden sie zur Information aufgelistet.
Wählen Sie die Schaltfläche „Überprüfen“.
Der Code zur Ausführung des ausgewählten Runbook wird in das aktuelle Runbook eingefügt.
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.
Öffnen Sie Windows PowerShell ISE.
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.
Melden Sie sich bei SMA auf der Registerkarte Konfiguration an.
Wählen Sie die Registerkarte Runbook. Sie sollten eine Liste der SMA Runbooks sehen.
Markieren Sie das Runbook, das Sie bearbeiten möchten, und wählen Sie Download. Dadurch wird eine lokale Kopie des Runbook von SMA heruntergeladen.
Wählen Sie Öffnen aus. Dadurch wird eine neue Registerkarte mit dem Runbook erstellt.
Nehmen Sie die erforderlichen Änderungen am Runbook vor.
Wählen Sie Entwurf hochladen, um das Runbook an SMA zu senden. Dadurch wird die vorhandene Entwurfsversion des Runbooks überschrieben.
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
Wählen Sie den Arbeitsbereich Automation.
Wählen Sie oben auf dem Bildschirm Runbooks.
Suchen Sie das zu bearbeitende Runbook und klicken Sie auf seinen Namen.
Wählen Sie oben auf dem Bildschirm Erstellen.
Wählen Sie Entwurf.
Wählen Sie am unteren Rand des Bildschirms Veröffentlichen.
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.
Öffnen Sie Windows PowerShell ISE.
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.
Melden Sie sich bei SMA auf der Registerkarte Konfiguration an.
Wählen Sie die Registerkarte Runbook. Sie sollten eine Liste der SMA Runbooks sehen.
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.