Intune Statusberichte mit PowerShell abrufen
Überwache die Gesundheit von Microsoft Intune mit einem PowerShell-Skript, das über Graph-API-Aufrufe Compliance, registrierte Geräte, Autopilot und…

Dieser Beitrag ist eine praxisnahe Anleitung dazu, wie du Microsoft Intune Statusberichte mit PowerShell abrufen kannst – ganz ohne das Intune Admin Center zu öffnen. Das Skript fragt Microsoft Graph ab, erstellt eine strukturierte Momentaufnahme von Geräten, Compliance, Apps und Zuweisungen und gibt diese als CSV/JSON aus, bereit für weitere Analysen oder dein eigenes Dashboard.
Als Administrator ist es immer gut, den eigenen Intune-Status im Blick zu behalten. In diesem Blog möchte ich dir zeigen, wie du den aktuellen Status mithilfe eines kleinen PowerShell-Skripts anzeigen kannst.

Wie funktioniert es
Es funktioniert wirklich ganz einfach – alles, was du brauchst, sind nur 5 verschiedene Graph-Aufrufe, um den Status auszulesen. Schauen wir uns diese Aufrufe einmal genauer an:
deviceManagement/deviceCompliancePolicyDeviceStateSummary
Mit diesem Aufruf erhältst du eine Ausgabe von Zahlen zum Compliance-Status deiner Geräte.

deviceManagement/managedDeviceOverview
Mit diesem Aufruf erhältst du eine Ausgabe von Zahlen zur Anzahl der registrierten Geräte und deren Plattform. Interessant ist hier, dass wir Linux und ChromeOs sehen.

deviceAppManagement
Dieser Graph-Aufruf zeigt dir den aktuellen Status des Windows Store for Business Connectors.

deviceManagement/windowsAutoPilotSettings
Dieser Graph-Aufruf zeigt dir die letzte Autopilot-Synchronisierung und deren Status.

deviceManagement/mobileThreatDefenseConnectors
Mit dieser Abfrage kannst du den Status von Windows Defender For Endpoint sehen.

Wie habe ich diese Aufrufe gefunden
Das herausragende Browser-Add-on Graph X-Ray, erstellt von Eunice, Dhruv, Clement, Monica & @merill, macht das Finden des benötigten Graph-Aufrufs wirklich einfach. Alles, was du tun musst, ist das Browser-Add-on zu installieren und in den Entwicklermodus deines Browsers zu wechseln. Hier erhältst du eine Liste aller Graph-Aufrufe, die beim Laden einer Seite ausgeführt werden.

Wie bekommst du das fertige Skript
Du findest das Skript in meinem GitHub-Repository. Was du tun musst, ist das Skript herunterzuladen und lokal auszuführen. Beim ersten Ausführen wirst du nach dem UPN eines Administrators gefragt. Gib den UPN ein und authentifiziere dich an deinem Tenant.
Ein häufiger Stolperstein sind die Berechtigungen: Das angemeldete Konto benötigt die passenden Microsoft-Graph-Scopes (etwa DeviceManagementManagedDevices.Read.All und DeviceManagementConfiguration.Read.All), sonst liefern einzelne Aufrufe stillschweigend ein leeres Ergebnis statt einer Fehlermeldung. Wenn ein Abschnitt des Berichts leer bleibt, ist fast immer ein fehlender Scope die Ursache. Ein praktischer Tipp ist, das Skript zuerst mit einem Reader-Konto nach dem Least-Privilege-Prinzip auszuführen und die Zustimmung nur dann zu erweitern, wenn ein bestimmter Aufruf das wirklich braucht. So hältst du die Berechtigungen so klein wie möglich.
Da jeder Wert live aus Graph abgerufen wird, stimmen die Zahlen immer exakt mit dem überein, was das Portal in genau diesem Moment anzeigt. Das macht die Ausgabe zu einer verlässlichen Grundlage, um Entwicklungen über die Zeit zu verfolgen. Wenn du das Skript regelmäßig laufen lässt und die Ergebnisse speicherst, erkennst du Trends wie steigende Nicht-Compliance oder fehlgeschlagene Autopilot-Synchronisierungen früh, bevor sie zu echten Problemen im Betrieb werden.
![]()
Danach erhältst du die folgende Ausgabe:

Fazit
Natürlich kannst du diese Ausgabe jeden Tag per E-Mail oder Teams versenden oder du kannst eine Logik entwickeln, um zu erkennen, ob etwas nicht stimmt, und in diesem Fall eine Benachrichtigung senden. Es ist auch möglich, weitere Connectors oder andere Informationen anzuzeigen. Ich hoffe, ich konnte dir mit diesem Skript erklären, wie du solche Informationen erhalten und ausgeben kannst.
Bleib gesund, Cheers
Jannik
Update 02.08.2022
Du kannst mein Skript auch aus der PowerShell Gallery herunterladen:
Wenn du an weiteren Optionen für das Intune-Reporting interessiert bist, gefällt dir vielleicht auch mein Beitrag über die Nutzung von Microsoft Fabric, um Intune-Daten für PowerBi-Reporting in den OneLake zu exportieren.
Wenn du mehr mit Microsoft Graph API-Aufrufen arbeitest, gefällt dir vielleicht auch mein Beitrag über den Graph Batch Endpoint.
Wenn du den nächsten Schritt gehen und solche Skripte automatisch ausführen möchtest, sieh dir meinen Beitrag darüber an, wie du mit Azure Automation Runbook beginnst, um Aufgaben in Intune zu automatisieren.
Install-Script -Name Get-IntuneStatus