Author Service Management Automation Runbooks
Runbooks in Service Management Automation und Microsoft Azure Automation sind Windows PowerShell-Workflows oder PowerShell-Skripts. Sie bieten die Möglichkeit, administrative Prozesse zum Verwalten und Bereitstellen von Cloudservern oder jeder anderen Funktion zu automatisieren, die ein Windows PowerShell-Skript ausführen kann.
Es gibt keinen Unterschied in den Runbooks zwischen den beiden Systemen, und das gleiche Runbook kann mit identischer Funktionalität ausgeführt werden. Wenn der Begriff "Automatisierung " in diesem Artikel verwendet wird, bezieht er sich sowohl auf die Dienstverwaltungsautomatisierung als auch auf Microsoft Azure Automation.
Zu den zusätzlichen Diensten, die von der Automatisierung für die Arbeit mit Windows PowerShell-Workflows bereitgestellt werden, gehören die folgenden:
Zentralisierte Speicherung und Verwaltung von Runbooks.
Skalierbare Architektur für die Planung und Ausführung von Runbooks.
Globale Ressourcen, die zentral verwaltet und für alle Runbooks verfügbar sind.
Benutzeroberfläche zum Erstellen und Testen von Runbooks.
Set of cmdlets for managing and starting runbooks.
Erstellen oder Importieren eines Runbook
Sie können ein Runbook zur Dienstverwaltungsautomatisierung hinzufügen, indem Sie es entweder im Verwaltungsportal erstellen oder aus einer Datei importieren.
Erstellen eines Runbook im Verwaltungsportal
Wählen Sie im Verwaltungsportal "Neu", "App Services", "Automatisierung", "Runbook", "Schnellerstellung" aus.
Geben Sie die erforderlichen Informationen ein, und wählen Sie "Erstellen" aus. Der Runbook-Name muss mit einem Buchstaben beginnen und kann Buchstaben, Zahlen, Unterstriche und Bindestriche enthalten.
Wenn Sie das Runbook jetzt bearbeiten möchten, wählen Sie "Runbook bearbeiten" aus. Wählen Sie andernfalls "OK" aus.
Ihr neues Runbook wird auf der Registerkarte Runbooks angezeigt.
Importieren eines Runbook aus einer Datei
Wählen Sie im Verwaltungsportal Die Automatisierung und dann ein Automatisierungskonto aus.
Klicken Sie auf Importieren.
Wählen Sie "Nach Datei suchen" aus, und suchen Sie die zu importierende Skriptdatei.
Wenn Sie das Runbook jetzt bearbeiten möchten, wählen Sie "Runbook bearbeiten" aus. Wählen Sie andernfalls "OK" aus.
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 vorhandenes 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 der Dienstverwaltungsautomatisierung verfügt über zwei Versionen: Entwurf und Veröffentlicht. Sie bearbeiten die Entwurfsversion des Workflows und veröffentlichen sie dann, damit sie ausgeführt werden kann. Die veröffentlichte Version kann nicht bearbeitet werden.
Bearbeiten eines Runbook mit dem Verwaltungsportal
Das Verwaltungsportal enthält einen Editor, den Sie zum Anzeigen und Bearbeiten von Runbooks verwenden können. Zusätzlich zur Bereitstellung grundlegender Textbearbeitungsfunktionen bietet der Editor die Möglichkeit, Code für Runbooks, globale Ressourcen und Aktivitäten automatisch einzufügen.
Wählen Sie im Verwaltungsportal die Option "Automatisierung" aus.
Wählen Sie die Registerkarte Runbooks .
Wählen Sie den Namen des Runbook aus, 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 " unten auf dem Bildschirm aus.
Nehmen Sie die gewünschten Änderungen vor.
Wählen Sie " Speichern" aus, wenn Ihre Bearbeitungen abgeschlossen sind.
Wählen Sie "Veröffentlichen " aus, wenn die neueste 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 einer globalen Ressource in ein Runbook
- Einfügen einer Aktivität in ein Runbook
Führen Sie die folgenden Schritte aus, um Code in ein Runbook einzufügen:
Öffnen Sie das Runbook im Verwaltungsportal-Editor.
Wählen Sie unten auf dem Bildschirm "Einfügen" und dann " Runbook" aus.
Wählen Sie das Runbook aus, das aus der mittleren Spalte eingefügt werden soll, und wählen Sie den Pfeil nach rechts aus.
Wenn das Runbook über Parameter verfügt, werden sie zur Information aufgelistet.
Aktivieren Sie die Kontrollkästchenschaltfläche.
Der Code zum Ausführen des ausgewählten Runbook wird in das aktuelle Runbook eingefügt.
Wenn für das Runbook Parameter erforderlich sind, geben Sie anstelle des Datentyps einen geeigneten Wert an, der von geschweiften Klammern umgeben ist <>.
Bearbeiten eines Automatisierungs-Runbook mit PowerShell
Um ein Runbook mit Windows PowerShell zu bearbeiten, bearbeiten Sie den Workflow mit dem Editor Ihrer Wahl und speichern es in einer PS1-Datei. Sie können das Cmdlet Get-SMARunbookDefinition verwenden, um den Inhalt des Runbook abzurufen, und dann das Cmdlet Edit-SMARunbook , um den vorhandenen Entwurfsworkflow durch den geänderten Zusatz zu ersetzen.
So rufen Sie den Inhalt eines Runbook mithilfe von Windows PowerShell ab
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 mithilfe von 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. Mit dem SMA PowerShell ISE-Add-On können Sie dieses Tool zum Schreiben und Testen von Automatisierungs-Runbooks verwenden.
Öffnen Sie Windows PowerShell ISE.
Wenn das SMA ISE-Add-On nicht auf der rechten Seite des ISE angezeigt wird, öffnen Sie das Add-Ons-Menü , und aktivieren Sie das SMA ISE-Add-On.
Melden Sie sich auf der Registerkarte "Konfiguration " bei SMA an.
Wählen Sie die Registerkarte "Runbook" aus . Eine Liste der SMA-Runbooks sollte angezeigt werden.
Wählen Sie das Runbook aus, das Sie bearbeiten möchten, und wählen Sie "Herunterladen" aus. 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" aus, um das Runbook an SMA zu senden. Dadurch wird die vorhandene Entwurfsversion des Runbook überschrieben.
Wählen Sie "Entwurf veröffentlichen" aus, wenn Sie die neueste Entwurfsversion des Runbook veröffentlichen möchten.
Veröffentlichen Ihres Runbook
Nachdem Sie Ihr Runbook erstellt haben, müssen Sie es veröffentlichen, damit der Runbook-Worker es ausführen kann. Jedes Runbook in der Dienstverwaltungsautomatisierung verfügt über einen Entwurf und eine veröffentlichte Version. 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 Verwaltungsportals
Wählen Sie den Automatisierungsarbeitsbereich aus.
Wählen Sie oben auf dem Bildschirm Runbooks aus.
Suchen Sie das Runbook, um es zu bearbeiten, und klicken Sie auf den Namen.
Wählen Sie oben auf dem Bildschirm " Autor" aus.
Wählen Sie "Entwurf" aus.
Wählen Sie unten auf dem Bildschirm " Veröffentlichen" aus.
Wählen Sie "Ja " für die Bestätigungsmeldung aus.
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 ein Runbook veröffentlicht wird.
$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 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. Mit dem SMA PowerShell ISE-Add-On können Sie dieses Tool zum Schreiben und Testen von Automatisierungs-Runbooks verwenden.
Öffnen Sie Windows PowerShell ISE.
Wenn das SMA ISE-Add-On nicht auf der rechten Seite des ISE angezeigt wird, öffnen Sie das Add-Ons-Menü , und aktivieren Sie das SMA ISE-Add-On.
Melden Sie sich auf der Registerkarte "Konfiguration " bei SMA an.
Wählen Sie die Registerkarte "Runbook" aus . Eine Liste der SMA-Runbooks sollte angezeigt werden.
Wählen Sie das Runbook und dann "Entwurf veröffentlichen" aus, um die neueste Entwurfsversion des Runbook zu veröffentlichen.
Testen Des Runbooks
Sie können die Entwurfsversion eines Runbook in der Dienstverwaltungsautomatisierung 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 Datenströme "Ausgabe" und "Warnung" und "Fehler " werden im Bereich "Testausgabe" angezeigt. Nachrichten an den ausführlichen Stream werden nur dann im Ausgabebereich angezeigt, wenn die variable $VerbosePreference auf "Weiter" festgelegt ist.
Wenn Sie ein Runbook testen, führt es den Workflow weiterhin normal aus und führt alle Aktionen für Ressourcen in der Umgebung aus. Aus diesem Grund sollten Sie runbooks nur für Ressourcen ohne Produktion testen.
Testen eines Runbooks in der Dienstverwaltungsautomatisierung
Um ein Runbook zu testen, öffnen Sie die Entwurfsversion des Runbook im Verwaltungsportal. Wählen Sie unten auf dem Bildschirm die Schaltfläche "Test " aus, um den Test zu starten.
Sie können das Runbook beenden oder anhalten, während es mit den Schaltflächen unterhalb des Ausgabebereichs 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 genau wie jedes andere Skript testen können.
Globale Ressourcen und ihre Werte werden aus der Automatisierungsgruppe heruntergeladen, die für lokale Tests verwendet werden soll. Sie können diese Werte auf der Registerkarte "Objekte " überprüfen oder ändern. Verschlüsselte Werte werden orange angezeigt, und ihre Werte werden nicht heruntergeladen. Wenn Sie diese Ressourcen in lokalen Tests verwenden möchten, müssen Sie deren Wert lokal festlegen.
Um das Runbook in SMA zu testen, wählen Sie "Testentwurf" in SMA aus. Ein neues Fenster wird geöffnet. Wählen Sie "Neuen Auftrag starten" aus, um den Test zu starten. Die Ausgabe wird im Fenster angezeigt.
Beispiele für Automatisierungs-Runbook
Die folgenden Runbooks werden mit Service Management Automation als Beispiel-Runbooks ausgeliefert, um Techniken und bewährte Methoden zu veranschaulichen. Sie sind für die Verwendung in der Automatisierungserweiterung in Microsoft Azure Pack für Windows Server verfügbar.
Runbookname | Beschreibung |
---|---|
Sample-Deleting-VMCloud-Subscription | Veranschaulicht ein nützliches Szenario zum Auslösen eines Runbook, wenn ein Benutzer ein VM Clouds-Abonnement löscht. |
Sample-Managing-Azure | Zeigt, wie Sie eine Verbindung mit einem Microsoft Azure-Abonnement herstellen und grundlegende Vorgänge mithilfe des Microsoft Azure PowerShell-Moduls ausführen. |
Sample-Managing-ConfigurationManager | Veranschaulicht die Funktion der Dienstverwaltungsautomatisierung zum Herstellen einer Verbindung mit Configuration Manager. |
Sample-Managing-DataProtectionManager | Veranschaulicht, wie Sie eine Verbindung mit einem DPM-Server (Data Protection Manager) herstellen und Informationen zu den Datenträgern anzeigen, die auf dem DPM-Server gefunden wurden. |
Sample-Managing-MySQLServers | Veranschaulicht, wie ein Sicherheitstoken abgerufen wird, das zum Abrufen einer Liste von Hostservern verwendet wird. |
Sample-Managing-OperationsManager | Veranschaulicht die Funktion der Dienstverwaltungsautomatisierung zum Herstellen einer Verbindung mit System Center Operations Manager. |
Sample-Managing-Orchestrator | Zeigt, wie Sie eine Verbindung mit System Center Orchestrator herstellen und ein Orchestrator-Runbook starten, um Ihre vorhandene Infrastruktur zu verwenden. |
Beispielverwaltungspläne | Veranschaulicht, wie Sie einen neuen Plan erstellen und den SQL Server-Dienst mit einem definierten Kontingent zum neuen Plan hinzufügen. |
Sample-Managing-ServiceBusClouds | Veranschaulicht, wie Sie eine Verbindung mit einem Service Bus Cloud-Server herstellen und Informationen zu den erstellten Namespaces anzeigen. |
Sample-Managing-SQLServers | Veranschaulicht, wie eine neue Servergruppe erstellt und ein SQL-Hostingserver hinzugefügt wird. |
Sample-Managing-UserAccounts | 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 angezeigt wird. Dieser Benutzer sollte jedoch auch in den Authentifizierungsanbieter (z. B. AuthSite) für den Zugriff auf das Verwaltungsportal für Mandanten integriert werden, der in diesem Beispiel nicht enthalten ist. |
Sample-Managing-VirtualMachineManager | Veranschaulicht, wie Sie eine Verbindung mit einem VMM-Server (Virtual Machine Manager) herstellen und Informationen zur VMM-Serverlizenz anzeigen. |
Sample-Managing-VMClouds | Veranschaulicht, wie Sie auf Informationen zur Datenbankverbindung eines Service Provider Foundation-Servers und informationen zu den von Service Provider Foundation verwalteten VMM-Serverobjekten zugreifen. |
Sample-Managing-WebSiteCloud | Veranschaulicht, wie Sie eine Verbindung mit einem Website-Clouds-Controllerserver herstellen und Informationen zu den bereitgestellten Servern der Websiteclouds anzeigen. |
Sample-Modify-VMCloud-Subscription | Veranschaulicht ein nützliches Szenario zum Auslösen eines Runbook, wenn Mandant oder Administrator ein VM Clouds-Abonnement angehalten oder aktiviert. |
Beispiel-Using-Activities | Veranschaulicht die Funktion der Dienstverwaltungsautomatisierung zum Verwenden von Aktivitäten |
Beispiel-Using-Checkpoints | Veranschaulicht die Funktion zum Verwenden von Prüfpunkten in der Dienstverwaltungsautomatisierung. |
Sample-Using-Connections | Veranschaulicht die Funktion der Dienstverwaltungsautomatisierung, Verbindungen zum Herstellen einer Verbindung mit Remotesystemen zu verwenden. |
Beispiel-Using-Credentials | Veranschaulicht die Funktion der Dienstverwaltungsautomatisierung für die Verwendung von Anmeldeinformationen und gibt den Benutzer aus, der das Runbook für die Dienstverwaltungsautomatisierung ausgeführt wird. Anschließend wird eine Verbindung mit dem Server "ServerName" hergestellt und der von 'SampleCredential' angegebene Benutzer ausgegeben, der auf den Server zugreift. |
Sample-Using-Modules | Veranschaulicht das Importieren von Modulen in Runbooks und gibt die Anzahl der bereits importierten Module auf dem Server "ServerName" aus. Anschließend importiert es das durch "ModulePath" angegebene Modul und gibt die neue Modulanzahl und Informationen aus, die dem neu importierten Modul entsprechen. |
Sample-Using-RunbookParameters | Veranschaulicht, wie Sie Eingabeparameter für Runbooks verwenden und auch angeben, ob Parameter erforderlich sind, Standardparameterwerte bereitstellen und Parameterwerte später im Workflow verwenden. |
Sample-Using-Runbooks | Veranschaulicht, wie Sie ein Runbook aus einem anderen Runbook aufrufen. |
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. Nach Abschluss des manuellen Schritts wird das angehaltene Runbook manuell fortgesetzt, um das Runbook fortzusetzen. |
Sample-Using-Variables | Veranschaulicht die Funktion der Dienstverwaltungsautomatisierung zur Verwendung von Variablen. |
Beispiel-Using-VMCloud-Automation | Veranschaulicht ein nützliches Szenario zum Auslösen eines Runbook am Anfang eines Service Provider Foundation-Ereignisses. |