Diese Schritt-für-Schritt-Anleitung zeigt, wie du tägliche Intune-Geräteberichte per Logic Apps, E-Mail und Teams versendest. Der Ablauf kombiniert Microsoft-Graph-Abfragen, Azure Logic Apps und deine bestehenden Microsoft-365-Kanäle – ganz ohne Reporting-Tool von Drittanbietern, und die gesamte Pipeline läuft im Azure-Consumption-Plan für wenige Cent pro Monat.
Für eine Intune-Administratorin oder einen Intune-Administrator ist es immer hilfreich, einen Überblick über den aktuellen Status des Tenants und über die Anzahl der Geräte im Feld zu erhalten. In diesem Blog möchte ich erklären, wie du mit Logic Apps einen detaillierten täglichen Bericht erhalten kannst.


Inhaltsverzeichnis
Was ist Logic Apps
Microsoft Azure Logic App Services ist eine SaaS-Lösung (Software as a Service), die viele Möglichkeiten bietet, Prozesse, Workflows und Aufgaben durch Low Code und die Integration verschiedener Dienste zu automatisieren.
Logic-App-Instanz erstellen
- Öffne das Azure Portal
- Suche nach Logic apps

- Klicke auf + Add

- Wähle die Subscription
- Wähle oder erstelle eine Resource Group
- Gib einen eindeutigen Namen der Logic App ein
- Wähle eine Region
- Wähle „Nein” für Log Analytics, sofern du dies nicht aktivieren möchtest
- Wähle Consumption als Plan-Typ
- Wähle Disabled für Zone Redundancy
- Klicke auf Review + create

- Füge bei Bedarf Tags hinzu und klicke auf Review + create
- Klicke auf Create
Einen Azure Key Vault erstellen
- Suche nach Key Vault

- Klicke auf + Create

- Wähle die Subscription
- Wähle oder erstelle eine Resource Group
- Gib einen eindeutigen Namen des Key Vaults ein
- Wähle eine Region
- Wähle Standard als Price Tier
- Klicke auf Review + create

Eine App-Registrierung erstellen
- Suche nach Microsoft Entra ID

- Wähle App registration

- Wähle +New registration

- Gib einen Namen ein und klicke auf Register

- Klicke auf API permissions und +Add a permission

- Wähle Microsoft Graph

- Wähle Application permissions

- Suche nach DeviceManagementManagedDevices.Read.All

- Wähle Certificates & secrets und klicke auf +New client secret

- Gib eine Description ein und wähle eine Expires-Zeit
- Klicke auf Add

- Kopiere und speichere den Value und die Secret ID

- Öffne den zuvor erstellten Key Vault
- Füge das Secret dem Vault hinzu


- Klicke auf Grant admin consent for *** und bestätige mit Yes

Die Logic App aufbauen
- Starte den Flow mit einem Recurrence Trigger. Stelle den Zeitplan auf einmal täglich.

- Füge eine Azure Key Vault Get Secret Aktion hinzu
- Gib den Namen des Key Vaults ein und melde dich an
- Wähle das zuvor erstellte Secret

- Füge eine HTTP-Aktion hinzu
- Fülle die folgenden Attribute aus:
- Method: GET
- URI:
https://graph.microsoft.com/v1.0/deviceManagement/managedDeviceOverview
- Klicke auf „add new Parameter” und wähle Authentication
- Wähle als Authentication Type Active Directory OAuth
- Füge deine TenantId hinzu. Diese ID findest du in Microsoft Entra ID.

- Gib https://graph.microsoft.com als Audience ein
- Gib deine Client ID aus der App-Registrierung ein

- Wähle das Secret als Dynamic Content (Value)

- Führe den ersten Test aus

- Prüfe im Body, ob du Gerätedaten siehst

- Füge eine Parse-JSON-Aktion hinzu
- Wähle Body als Content und füge den folgenden Inhalt als Schema hinzu:
{
"type": "object",
"properties": {
"@@odata.context": {
"type": "string"
},
"id": {
"type": "string"
},
"enrolledDeviceCount": {
"type": "integer"
},
"mdmEnrolledCount": {
"type": "integer"
},
"dualEnrolledDeviceCount": {
"type": "integer"
},
"deviceOperatingSystemSummary": {
"type": "object",
"properties": {
"androidCount": {
"type": "integer"
},
"iosCount": {
"type": "integer"
},
"macOSCount": {
"type": "integer"
},
"windowsMobileCount": {
"type": "integer"
},
"windowsCount": {
"type": "integer"
},
"unknownCount": {
"type": "integer"
}
}
},
"deviceExchangeAccessStateSummary": {
"type": "object",
"properties": {
"allowedDeviceCount": {
"type": "integer"
},
"blockedDeviceCount": {
"type": "integer"
},
"quarantinedDeviceCount": {
"type": "integer"
},
"unknownDeviceCount": {
"type": "integer"
},
"unavailableDeviceCount": {
"type": "integer"
}
}
}
}
}

Status per E-Mail senden
- Füge eine Outlook Send an Email (V2) Aktion hinzu
- Füge die Empfängeradresse in der Spalte To hinzu
- Füge einen Subject hinzu
- Wenn du dem Betreff ein Datum hinzufügen möchtest, füge den folgenden Ausdruck hinzu:
string(utcNow('yyyyMMdd'))
- Füge Folgendes in der Spalte „Body” hinzu. (Du kannst den Text beliebig anpassen)
Dear MDM Team,
attached your daily report:
- Total devices: @{body('Parse_JSON')?['enrolledDeviceCount']}
- Mdm enrolled: @{body('Parse_JSON')?['mdmEnrolledCount']}
- Hybrid enrolled: @{body('Parse_JSON')?['dualEnrolledDeviceCount']}
Per device group:
- Windows: @{body('Parse_JSON')?['deviceOperatingSystemSummary']?['windowsCount']}
- Android: @{body('Parse_JSON')?['deviceOperatingSystemSummary']?['androidCount']}
- iOS: @{body('Parse_JSON')?['deviceOperatingSystemSummary']?['iosCount']}
- MacOS: @{body('Parse_JSON')?['deviceOperatingSystemSummary']?['macOSCount']}
Best regards and have a nice day without troubles
Your logic app

- Jetzt können wir einen Testlauf durchführen, um zu prüfen, ob alles funktioniert


- Prüfe deinen Posteingang

Status per Teams senden
- Erstelle einen Microsoft-Teams-Kanal und füge den Webhook-Connector hinzu
- Kopiere die WebHook-URL

- Füge dem Flow eine HTTP-Aktivität hinzu
- Wähle POST als Method
- Gib die URL als URI ein
- Füge im Header Content-Type als Key und application/json als Value hinzu
- Gib den folgenden Body ein
- Hinzufügen
{
"text": "Dear MDM Team, nn attached your daily report:n- Total devices: @{body('Parse_JSON')?['enrolledDeviceCount']}n- Mdm enrolled: @{body('Parse_JSON')?['mdmEnrolledCount']}n- Hybrid enrolled: @{body('Parse_JSON')?['dualEnrolledDeviceCount']}nnPer device group:n- Windows: @{body('Parse_JSON')?['deviceOperatingSystemSummary']?['windowsCount']}n- Android: @{body('Parse_JSON')?['deviceOperatingSystemSummary']?['androidCount']}n- iOS: @{body('Parse_JSON')?['deviceOperatingSystemSummary']?['iosCount']}n- MacOS: @{body('Parse_JSON')?['deviceOperatingSystemSummary']?['macOSCount']}"
}

- Jetzt können wir einen Testlauf durchführen, um zu prüfen, ob alles funktioniert



Fazit
In diesem Blog habe ich dir die Grundlagen gezeigt, wie du eine Logic App erstellst, um die Intune Graph API abzufragen. Du kannst mein Beispiel beliebig erweitern und z. B. den aktuellen Service-Health-Status einbinden oder den Status des Windows-Update-Deployments hinzufügen. Wenn du eine ausführlichere und aktualisierte Version möchtest, schau dir meine V2-Schritt-für-Schritt-Anleitung an, um einen täglichen Gerätebericht per E-Mail oder Teams mit Logic Apps zu erhalten.
Bleib gesund, Cheers
Jannik











