Option 1: M365 Admin Portal verwenden

Im Microsoft-365-Admin-Portal gab es endlich einen Weg. Geht zu “Roles” -> “Role assignments” und klickt auf “Export admin list”, um eine CSV-Datei mit allen Admins und ihren Rollen zu erhalten.

M365 Admin Center - Rollenzuweisungen

Option 2: PowerShell / Azure AD Graph Module verwenden

Nur ein kurzes PowerShell-Snippet, um alle Benutzer mit administrativen Rollen in einer Microsoft-365- (oder Azure-AD-) Umgebung aufzulisten. Bitte beachtet, dass hier das ältere Azure-AD-Graph-Modul verwendet wird (die Abkündigung war bereits geplant). Ein Beispiel mit der neueren Microsoft Graph API habe ich noch nicht.

Voraussetzungen

Ihr braucht das Azure-AD-PowerShell-for-Graph-Modul und müsst euch mit eurem Azure-AD-Tenant verbinden.

  1. Install the Azure AD PowerShell for Graph module (if you don’t have it yet)
  2. Mit Connect-AzureAD mit eurem Tenant verbinden

PowerShell-Code, um alle Admins aufzulisten

Lest das folgende Snippet, stellt sicher, dass es nicht bösartig oder unsinnig ist, und führt es dann aus. Das Skript schreibt einen CSV-Export nach C:\temp\AAD_Admins.csv.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
$AllRoleAssignments = ForEach ($Role in (Get-AzureADMSRoleDefinition)) {
    $RoleAssignment = Get-AzureADMSRoleAssignment -Filter "roleDefinitionId eq '$($Role.Id)'"
    if($RoleAssignment) {
        $User = Get-AzureADObjectByObjectId -ObjectIds $RoleAssignment.PrincipalId
        if($User.ObjectType -eq "User") {
            $User | Select-Object DisplayName,UserPrincipalName,ObjectType
        }
    }
}
$AllRoleAssignments | Sort-Object -Unique "UserPrincipalName" | Export-csv -Encoding utf8 -NoTypeInformation -Path C:\temp\AAD_Admins.csv

Was das nicht macht

  1. Dieses Snippet exportiert nicht, welche Rollen die Benutzer haben
  2. Dieses Snippet exportiert keine App-/Service-Principals mit Adminrollen

Aber genau das habe ich in dem Moment gebraucht. Passt den Code gern an eure Anforderungen an.