Mehrere Nutzer auf einmal löschen 185 Mit folgendem Skript kann man Nutzer z.B. nach einem Merkmal in der E-Mailadresse suchen und diese dann auf einmal löschen. Die Skripte benötigen das AzureAD Modul, welches vorher installiert werden muss: Install-Module AzureAD # Verbindung mit dem AzureAD Modul herstellen, wenn noch keine Verbindung besteht try{ Get-AzureADTenantDetail }catch{ Connect-AzureAD } # Beispiel: hier werden alle Nutzer mit einem Merkmal in der E-Mailadresse gesucht $tempArray = Get-AzureADUser -All $true | Where-Object {$_.UserPrincipalName -Match "10" } # listet alle gefunden Nutzer auf foreach($a in $tempArray){ Write-Host $a.UserPrincipalName } # Abfrage ob wirklich alle aufgelisteten Nutzer nun gelöscht werden sollen $deleteConfirm = Read-Host -Prompt "Wollen Sie wirklich alle aufgelisteten Nutzer löschen? (ja-nein)" # wurde "ja" eingegeben werden nun die Nutzer gelöscht und gleich angezeigt. if($deleteConfirm -contains "ja"){ foreach ($i in $tempArray){ Remove-AzureADUser -ObjectId $i.UserPrincipalName Write-Host "Nutzer " $i.UserPrincipalName " wurde gelöscht!" } }else{ Write-Host "Es wurden keine Nutzer gelöscht!" } Nutzer anhand einer Lizenz löschen So kann man Nutzer anhand einer Lizenz sammeln und diese dann auf einmal löschen: # Verbindung mit dem AzureAD Modul herstellen, wenn noch keine Verbindung besteht try{ Get-AzureADTenantDetail }catch{ Connect-AzureAD } # Listet alle Lizenzen auf Get-AzureAdSubscribedSku | Select-Object -Property SkuPartNumber,SkuId # Sucht Nutzer nach der Lizenz, diese muss hier angegeben werden $tempArray = Get-AzureADUser -All $true | Where-Object {($_.assignedLicenses).SkuId -contains "94763226-9b3c-4e75-a931-5c89701abe66"} foreach($a in $tempArray){ Write-Host $a.UserPrincipalName } # Abfrage ob wirklich alle aufgelisteten Nutzer nun gelöscht werden sollen $deleteConfirm = Read-Host -Prompt "Wollen Sie wirklich alle aufgelisteten Nutzer löschen? (ja-nein)" # wurde "ja" eingegeben werden nun die Nutzer gelöscht und gleich angezeigt. if($deleteConfirm -contains "ja"){ foreach ($i in $tempArray){ Remove-AzureADUser -ObjectId $i.UserPrincipalName Write-Host "Nutzer " $i.UserPrincipalName " wurde gelöscht!" } }else{ Write-Host "Es wurden keine Nutzer gelöscht!" } RegEx Match # sucht alle Nutzer die einen Klassennamen (1a, 10B, 5BR,...) in der E-Mailadresse haben $tempArray = Get-AzureADUser -All $true | Where-Object {$_.UserPrincipalName -Match "^\w+[0-9]{1,2}[aAbBcCdDfFpPrR]{1,2}" } # sucht alle externen Nutzer. Die ein EXT in der E-Mailadresse haben $tempArray = Get-AzureADUser -All $true | Where-Object {$_.UserPrincipalName -Match "EXT" } Links unsere-schule.org × Mehrere Nutzer auf einmal löschen Code: 185 Infos: unsere-schule Codes