Bereinigung M365 Azure AD Gruppen per PowerShell

The estimated reading time 1 minutes

Auch im Cloudumfeld, speziell in größeren Umgebungen kann es sinnvoll sein, immer mal wieder Azure AD Gruppen zu betrachten und diese auch auf deaktivierte Benutzer zu prüfen. Natürlich kann hier auch einiges an Lizenzkosten gespart werden, wenn deaktivierten Benutzern auch die Lizenz tatsächlich entzogen wird.

Für diesen Anwendungsfall habe ich ein kleines PowerShell Script geschrieben, welches eine Azure AD Gruppe analysiert und die deaktivierten Benutzer ausgibt, oder nach Wunsch auch gleich aus der Gruppe entfernt.

Connect-AzureAD
$grouptoclean = "XXXXX"

$groupid = (Get-AzureADGroup -SearchString "$grouptoclean").ObjectId 
$groupmembers = (Get-AzureADGroupMember  -ObjectId "$groupid" -All $true)  | Sort-Object UserPrincipalname
$inactiveusers = @()
foreach($user in $groupmembers){

    $upn = ($user).UserPrincipalname
    
    $enabled = Get-AzureADUser  -SearchString $upn  | Where-Object{$_.AccountEnabled -eq $false}
    
    $active = ($enabled).AccountEnabled
    $userid = ($enabled).ObjectId
    
    if($enabled){
      Write-Host "UPN: $upn is disabeld, Status: $active" -ForegroundColor Yellow
      $inactiveusers += $upn
      #Remove-AzureADGroupMember -ObjectId $groupid -MemberId $userid 
      
    }
    else{
        $member = Get-AzureADUser -SearchString $upn 
                
        $upnmember = ($member).UserPrincipalName
        $activemember = ($member).AccountEnabled
        
      Write-Host "UPN: $upnmember Status: $activemember"
    
    } 
    
   
  } 
  $inactiveusers | sort
  ($inactiveusers).count 
#$inactiveusers = $null

Die gelbe Ausgabe zeigt dann alle deaktivierten Benutzer innerhalb der Gruppe an, welche bei Scharfschaltung auch entfernt werden würden.

Um die Entfernung ebenfalls durchzuführen muss nur ein # entfernt werden (Zeile 19).

Remove-AzureADGroupMember -ObjectId $groupid -MemberId $userid 

Viel Erfolg beim Aufräumen der Gruppen.

HINWEIS: wer Verteilergruppen bearbeitet, könnte natürlich auch Shared Mailboxes erwischen, da diese Benutzer ebenfalls deaktiviert sind.

Was this article helpful?
YesNo
0 0 votes
Article Rating
Abonnieren
Benachrichtige mich bei
guest
0 Comments
Newest
Oldest Most Voted
Inline Feedbacks
View all comments