Azure Runbooks in der Powershell ISE lokal bearbeiten und testen

Mit zunehmender Verlagerung von Infrastruktur, Diensten und Anwendungen in die Cloud spielt auch die Automation in diesem Bereich eine immer wichtigere Rolle. Automation im Umfeld von Microsoft Azure wird durch Azure Runbooks bereitgestellt, welche PowerShell-Skripte oder PowerShell-Workflows enthalten können.

Das Azure Portal bietet natürlich Möglichkeiten zur Verwaltung und Bearbeitung dieser Runbooks an, speziell der Editor im Portal hat aber sicherlich noch einiges an Verbesserungspotential.

Mit dem sog. “AzureAutomationAuthoringToolkit” (ATK) bietet sich jedoch eine Möglichkeit in Azure gehostete Runbooks lokal in der PowerShell ISE zu bearbeiten, nach Azure hochzuladen und dort ausführen zu lassen.

Der ISE-Editor bietet gegenüber dem Portal mehr Komfort, z.B. ein besseres Color-coding, IntelliSense und die Möglichkeit der Befehlsvervollständigung mit der Tab-Taste. Da der ISE-Editor zudem mehrere Reiter anzeigen kann, ist auch die gleichzeitige Bearbeitung mehrerer Runbooks in einer oder mehreren Sessions möglich.

Neben Runbooks können mit dem ATK auch Azure-Assets, also Variablen, Credentials usw. erzeugt, angezeigt und modifiziert werden. DSCs (Desired State Configuration) werden ebenfalls angeboten.

ISE_ATK1

Das ATK kann über die PowerShell Gallery bezogen und installiert werden: http://www.powershellgallery.com/

Items aus der Gallery lassen sich mit dem PowerShell 5 Cmdlet “Install-Module” downloaden und installieren. PowerShell 5.0 ist in Windows 10 bereits enthalten, kann aber auch über in Form des WMF (Windows Management Framework) oder per MSI installiert werden. Weitere Infos dazu auf http://www.powershellgallery.com/

Installation ATK in einer administrativen ISE-Sitzung:

Install-Module -Name AzureAutomationAuthoringToolkit

Die Installation richtet auch den NuGetPacketProvider ein, wenn erforderlich.

Um das ATK nach erfolgreicher Installation innnerhalb einer ISE-Sitzung zu aktivieren, muss es als Modul geladen werden:

Import-Module AzureAutomationAuthoringToolkit

Das Import-Cmdlet kann natürlich auch in das ISE-Profil integriert werden, wenn das ATK immer beim Start einer ISE-Session zur Verfügung stehen soll. Da der Ladevorgang aber einen Moment dauert, ist das jedoch nicht immer wünschenswert.

Nach dem Import blendet sich im Tool-Bereich der ISE ein neuer Reiter “Azure Automation ISE add-on” ein und das ATK kann auf dem Tool-Reiter “Configuration” konfiguriert werden.

Wichtig ist hier das “Sign in to Azure Automation”, welche die Verbindung zur Azure Subscription herstellt. Das Sign In erfolgt mit den üblichen Anmeldedaten, die auch für den Einstieg in das Portal benötigt werden. Danach können Subscription und Automation Account ausgewählt werden.

Das Tool legt je nach gewählter Subscription einen lokalen Pfad für den Download von Azure Inhalten an, die “Account content location”. Dieser Pfad befindet sich immer innerhalb des “Base path for runbooks und assets”, der weiter oben im Dialog angegeben werden kann.

Hinweis: Als ich das Tool eingerichtet habe, scheiterte das Tool beim Anlegen des lokalen Subscription-Pfads! Ich habe den angezeigten Pfad dann einfach manuell im Explorer angelegt, danach lief das Tool einwandfrei.

Nach erfolgreicher Verbindung mit einer Azure Scubscription und einem Automation Account, werden auf den anderen Tool-Reitern die gefundenen Inhalte angezeigt. Z.B. auf dem Reiter “Runbooks” alle gefundenen Runbooks.

Runbooks können jetzt über die Schalter am unteren Dialogrand downgeloaded, bearbeitet und wieder nach Azure hochgeladen werden:

ISE_ATK2

Besonders nett ist die Funktion “Test Draft in Azure”: Damit wird das Script in Azure ausgeführt. Vor der Ausführung werden ggf. Eingabeparameter für das Script abgefragt. Script-Ausgaben, z.B. mit Write-Verbose oder Write-Output werden in einem eigenen Konsolenfenster angezeigt:

ISE_ATK3

Wie bereits erwähnt besteht auch Zugriff auf die in Azure abgelegten Assets, wie Variablen, Credentials, Connections und Certificates. Entsprechende Informationen finden sich auf dem “Assets”-Reiter des Tools.

Auch für Runbooks im SMA-Umfeld gibt es ein gleichartiges Tool. Die Befehle für die Installation dafür lauten einfach:

Install-Module -Name SMAAuthoringToolkit

Import-Module -Name SMAAuthoringToolkit

Aber Achtung: Die beiden Tools können nicht gleichzeitig auf einem Rechner installiert sein!

 

Starten Sie jetzt Ihren Weg zu Azure!

Los geht's

top