Tierney - stock.adobe.com

So senden Sie automatische Nachrichten mit Azure Logik-Apps

Mit Azure Logik-Apps senden Sie automatisch eine E-Mail oder eine Nachricht von Microsoft Teams, um nach Wartungsarbeiten mit Ihren Nutzern zu kommunizieren.

PowerShell ist in der Lage, eine scheinbar unbegrenzte Anzahl von Verwaltungsaufgaben zu bewältigen. Das Messaging ist jedoch seine Stärke nicht.

Es erfordert Arbeit, die richtigen Module zu konfigurieren und zu authentifizieren, um Benachrichtigungen in PowerShell einzurichten. Wenn Sie Nachrichten von Skripten abrufen möchten, die an mehreren Standorten in Ihrem Unternehmen ausgeführt werden, ist der Einrichtungsprozess sogar noch komplizierter.

Wenn Sie beispielsweise geplante Skripte haben, die auf den Domänencontrollern laufen, und möchten, dass das Skript jeden Erfolg oder Fehler meldet, oder Sie wünschen sich schlicht eine einfachere Methode mit geringerem Platzbedarf zum Bereitstellen von Skripten, reicht PowerShell nicht. Azure Logik-Apps ist ein Dienst, der Sie beim Automatisieren von Spezialaufgaben unterstützt, indem es einen HTTP POST akzeptiert und eine E-Mail oder Nachricht über Microsoft Teams sendet.

So erstellen Sie einen automatisierten Workflow in Azure Logik-Apps

Melden Sie sich zunächst im Azure-Portal an und suchen Sie nach Logik-Apps. Klicken Sie dann auf Hinzufügen, um eine neue Regel zu erstellen.

Wählen Sie im Assistenten Ihre Ressourcengruppe aus oder erstellen Sie bei Bedarf eine neue, legen Sie den Typ entsprechend fest – verwenden Sie Verbrauch, da es für Testzwecke besser geeignet ist und Sie die App nicht auf Unternehmensebene skalieren möchten – und geben Sie der App einen Namen:

Fügen Sie beliebige Tags hinzu und erstellen Sie die App. Gehen Sie nun zur Ressource. Die erste Seite, die sich öffnet, wenn Sie eine Azure Logic App erstellen, enthält einige allgemeine Auslöser. In diesem Azure Logik-Apps-Tutorial werden wir den Auslöser Beim Empfang einer HTTP-Anforderung nutzen.

Abbildung 1: Erstellen Sie eine neue Logik-App in der Webkonsole von Azure.
Abbildung 1: Erstellen Sie eine neue Logik-App in der Webkonsole von Azure.

Wie man eine Azure Logik-App zum Senden von E-Mails einrichtet

Die Stärke von Azure Logik-Apps liegt in ihrer Benutzerfreundlichkeit. Lassen Sie uns zur Veranschaulichung einen automatisierten Workflow mit zwei Schritten erstellen. Zuerst werden mehrere Parameter über die Aktion Beim Empfang einer HTTP-Anforderung akzeptiert und dann sendet das System eine E-Mail. In diesem Tutorial verwenden wir den Office-365-E-Mail-Connector. Es gibt aber eine Reihe weiterer E-Mail-Connectoren mit einer Send-E-Mail-Aktion, zum Beispiel den Gmail-Connector für den E-Mail-Dienst von Google. Azure listet in Logik-Apps alle verfügbaren Connectoren auf.

Für einen flexibleren Arbeitsablauf sollte diese Azure Logik-App Werte für mehrere E-Mail-Header-Felder akzeptieren, wie zum Beispiel An, CC, BCC, Betreff und Nachricht. Um der Azure Logic App mitzuteilen, wie die Daten übergeben werden sollen, formatieren wir dieses Objekt in JavaScript Object Notation (JSON) und geben sie als Beispiel-Nutzdaten ein.

{

   "To": "to",

   "CC": "cc",

   "BCC": "bcc",

   "Betreff": "subject",

   "Nachricht": "message"

}

Die Azure Logik-App verwendet die von Ihnen angegebenen Werte, um den Typ der Eigenschaft zu bestimmen.

Klicken Sie auf Beispielnutzdaten zum Generieren eines Schemas verwenden und fügen Sie die JSON-Nutzdaten ein.

Abbildung 2
Abbildung 2

Klicken Sie auf Fertig und Sie sollten sehen, dass das JSON-Schema in ein Format aktualisiert wird, das mit der Azure Logik-App kompatibel ist.

Fügen Sie die E-Mail-Aktion hinzu, indem Sie auf + Neuer Schritt klicken und nach Ihrem E-Mail-Anbieter suchen. Für die Zwecke dieses Tutorials suchen Sie nach Office 365 Outlook und wählen die Aktion E-Mail Senden (V2). Wenn Sie die Authentifizierung für diese Aktion nicht eingerichtet haben, werden Sie in einem Dialogfeld aufgefordert, sich bei einem Konto anzumelden. Wenn Sie nicht Ihr E-Mail-Konto verwenden möchten, melden Sie sich entweder mit einem Dienstkonto an und verwenden Sie den Parameter Von oder wählen Sie die Aktion E-Mail aus freigegebenem Postfach senden (V2), um ein solches zu nutzen.

Im Anschluss sehen Sie die Aktion im Workflow.

Abbildung 3: Verwende Sie den Office 365 Connector, um eine E-Mail-Aktion auszulösen.
Abbildung 3: Verwende Sie den Office 365 Connector, um eine E-Mail-Aktion auszulösen.

Sie werden feststellen, dass der Workflow nicht alle E-Mail-Kopfzeilenfelder enthält. Fügen Sie diese hinzu, indem Sie auf die Dropdown-Liste Add new parameter klicken und alles markieren, was Sie benötigen.

Um unsere definierten Parameter zu verwenden, klicken Sie auf eines der Felder, zum Beispiel An, und ein Popup-Fenster schlägt Werte vor. Wahrscheinlich müssen Sie auf Mehr anzeigen klicken, um die benutzerdefinierten Parameter zu finden.

Wählen Sie für jeden Parameter den passenden Wert aus der Liste aus. Für Text haben wir den Namen Nachricht verwendet, um Verwechslungen mit dem anderen Wert Text zu vermeiden.

Abbildung 4: Fügen Sie die benutzerdefinierten Parameter hinzu, die Sie zuvor erstellt haben.
Abbildung 4: Fügen Sie die benutzerdefinierten Parameter hinzu, die Sie zuvor erstellt haben.

Klicken Sie auf Speichern, um die Azure Logik-App zu überprüfen.

Testen Sie den automatisierten Workflow zum Versenden von E-Mails

Um den Workflow zu überprüfen, benötigen wir seine HTTP POST URL, welche die Azure Logik-App aufruft. Öffnen Sie die Aktion Beim Empfang einer HTTP-Anforderung, um sie zu finden. Wenn das Feld HTTP-POST-URL keinen Wert enthält, versuchen Sie, ob es hilft, den Workflow zu speichern.

Abbildung 5: Finden Sie die HTTP HOST URL und kopieren Sie sie.
Abbildung 5: Finden Sie die HTTP HOST URL und kopieren Sie sie.

Kopieren Sie dann den Wert, öffnen Sie einen PowerShell-Skripteditor und weisen Sie die URL einer Variablen zu. Erstellen Sie als Nächstes die Parameter, die Sie an die Azure Logik-App senden möchten, indem Sie eine Hash-Tabelle erstellen und ConvertTo-Json verwenden:

$body = @{

  To = '[email protected]'

  CC = '[email protected]'

  Subject = 'Test Betreff'

  Message = '<h1>Hier wird HTML akzeptiert</h1><p>Und hier ist der langweilige Absatz</p>'

}

Wenn Sie Windows PowerShell v5.1 verwenden, müssen Sie den Content-Type der Nachricht manuell angeben:

$headers = @{ 

  'Content-Type' = 'application/json'

}

Wenn Sie PowerShell 7 verwenden, können Sie dies mit dem Parameter ContentType im Befehl Invoke-RestMethod tun.

Erfahren Sie mehr über Cloud Computing

ComputerWeekly.de
Close