Alle Zuweisungen in Intune basieren auf Microsoft Entra ID-Gruppen (ehemals Azure AD). Ich denke, du hattest auch schon das Problem, dass du herausfinden wolltest, welchem Intune-Objekt eine bestimmte Microsoft Entra ID-Gruppe bereits zugewiesen ist – aber im Portal gibt es keine Möglichkeit, das herauszufinden. Um dieses Problem zu lösen, habe ich ein Skript geschrieben, das dir genau diese Ausgabe liefert.

Inhaltsverzeichnis
Warum du die Intune-Zuweisungen einer Azure AD-Gruppe kennen solltest
In einer wachsenden Umgebung erreicht die Anzahl der Konfigurationsprofile, Compliance-Richtlinien, Apps und Skripte schnell mehrere Hundert. Jedes dieser Objekte kann eine andere Gruppe adressieren. Wenn du eine Gruppe stilllegen, Zugriffe auditieren oder nachvollziehen möchtest, warum ein Gerät eine bestimmte Richtlinie erhalten hat, musst du genau wissen, wo diese Gruppe überall verwendet wird.
Sich durch jedes einzelne Objekt im Portal zu klicken, ist dabei weder realistisch noch fehlerfrei. Genau hier setzt das Skript an: Es liefert dir bei jedem Durchlauf ein vollständiges und wiederholbares Bild, sodass du dich auf die Auswertung statt auf das Suchen konzentrieren kannst.
Wie funktioniert es
- Zuerst authentifizieren wir uns bei Microsoft Entra ID, um ein Authentifizierungstoken zu erhalten.

- Danach lesen wir die Gruppe ein, nach der wir suchen möchten, und prüfen, ob sie existiert. Wenn die Gruppe existiert, erhalten wir die Gruppen-ID. Wenn die Eingabe nicht existiert, listen wir alle Gruppen auf und fragen so lange nach, bis die Eingabe korrekt ist.

- Danach prüfen wir alle Gerätekonfigurationen, ADMX, Apps, Compliance-Richtlinien und Skripte, ob es eine Zuweisung oder einen Ausschluss für diese Gruppe gibt.

Was du tun musst
- Zuerst musst du mein Skript aus meinem GitHub-Repository herunterladen.
- Führe das Skript aus und gib deinen UPN mit ausreichenden Berechtigungen ein.

- Gib den Namen einer Microsoft Entra ID-Gruppe ein (wenn du alle Gruppen auflisten möchtest, drücke Enter ohne Inhalt).

- Das war’s. Jetzt werden dir alle Zuweisungen und Ausschlüsse der Gruppe aufgelistet.

Berechtigungen und Voraussetzungen
Um das Skript auszuführen, brauchst du ein Konto mit Leserechten auf Intune und auf Microsoft Entra ID. Zu den benötigten Microsoft-Graph-Berechtigungen gehören DeviceManagementConfiguration.Read.All, DeviceManagementApps.Read.All und Group.Read.All. Wenn du dir bei den Scopes unsicher bist, ist die offizielle Microsoft-Intune-Dokumentation auf Microsoft Learn eine gute Referenz.
Ein kurzer Tipp aus der Praxis: Teste das Skript am besten zuerst mit einem Konto, das nur Leserechte besitzt. So stellst du sicher, dass keine ungewollten Änderungen passieren können, und du erhältst trotzdem die vollständige Übersicht. Häufige Stolperfalle ist außerdem ein fehlendes Admin-Consent für die Graph-Scopes – ohne dieses Consent schlägt die Abfrage bestimmter Objekttypen still fehl, sodass die Ausgabe unvollständig wirkt.
Wenn du das Ergebnis dokumentieren oder mit Kollegen teilen möchtest, lohnt es sich, die Ausgabe in eine CSV-Datei zu exportieren. Dadurch hast du eine nachvollziehbare Momentaufnahme der Zuweisungen, die du bei späteren Audits oder Migrationen erneut heranziehen kannst – gerade bei größeren Tenants mit vielen Konfigurationsprofilen und Apps ist eine solche Momentaufnahme Gold wert und spart dir bei der nächsten Überprüfung viel Zeit.
Fazit
Ich hoffe, ich konnte dir mit diesem Skript helfen, falls du in Zukunft nach der Intune-Zuweisung einer Microsoft Entra ID-Gruppe suchst. Wenn du das Skript in einer größeren Umgebung verwendest, kann die Ausführung etwas dauern, da es alle Objekte durchgehen und die Zuweisungen prüfen muss. Wenn dir eine Kategorie im Skript fehlt, dann lass es mich wissen, damit ich sie hinzufügen kann.

Bleib gesund, Cheers
Jannik
Update 02.08.2022
Du kannst mein Skript auch aus der PowerShell Gallery herunterladen:
Install-Script -Name Get-AllAadGroupAssignments


Hi Jannik! Thank you for creating this!
I have a couple of comments. The first is that i had to change line 29 and 30 to this to make the script run:
Add-Type -Path $adal
Add-Type -Path $adalforms
Otherwise it would just throw exceptions, and not log me in.
The second thing is that it seems your script only returns the first 100 groups in your ‘Get-GraphCall’ function when you populate $groups on line 156. I think you’ll need to do a ‘do while’-loop on the .nextlink from the Invoke-RestMethod to get a complete result in an environment with more than 100 groups.
Other than that, great script, and thank you again for providing this! It’s gonna be awsome! :o)
Hey @Trond Kristiansen many thanks for your feedback.
When I run the script I don’t get the exception but anyway I changed it then hopefully it runs stable for everyone.
Regarding the limitation of 100 groups this I have fixed it now all groups are fetched.
Sorry for the bug and thanks for the feedback.
Wow. I was just talking about this capability, thank you.
Great script but I think it is missing some areas:
– Endpoint Security items like Security Baseline, Antivirus, Encryption, etc.
– Settings Catalogs
– Update rings
– Feature updates
Hey Ron, do you have an need for the script. If you want I can further develop this