Im Rahmen der Nutzung von Exchange Online wird man irgendwann feststellen, dass E-Mails, deren Absender bereits in der Tenant-Blockliste gesperrt sind, nicht gelöscht werden, sondern weiterhin angenommen werden. Diese landen in der E-Mail-Quarantäne von Exchange Online, allerdings ist der Filter so gesetzt, dass man diese nicht sieht. Das hat für die Übersicht einen großen Vorteil, allerdings wird die gesamte Quarantäne-Ansicht sehr ausgebremst, weil sich der komplette Spam dort noch befindet.
Um hier Abhilfe zu schaffen, lohnt es sich daher die Quarantäne komplett zu leeren von allen bereits geblockten Mails. Dies geschieht wie folgt:
# 1. Verbindung zu Exchange Online herstellen (falls noch nicht geschehen)
# Connect-ExchangeOnline
Write-Host "Lade blockierte Absender aus der Tenant Block List..." -ForegroundColor Cyan
# 2. Blockierte Absender (E-Mails und Domains) abrufen
$blockedEntries = Get-TenantAllowBlockListItems -ListType Sender | Where-Object { $_.Action -eq "Block" }
if ($null -eq $blockedEntries) {
Write-Host "Keine blockierten Absender in der Liste gefunden." -ForegroundColor Yellow
return
}
Write-Host "Gefundene Block-Einträge: $($blockedEntries.Count)" -ForegroundColor Gray
# 3. Durch die blockierten Einträge iterieren und zugehörige Quarantäne-Mails löschen
foreach ($entry in $blockedEntries) {
$senderValue = $entry.Value
# Suche nach Mails in der Quarantäne von diesem Absender
$quarantineMsgs = Get-QuarantineMessage -SenderAddress $senderValue -ErrorAction SilentlyContinue
if ($quarantineMsgs) {
Write-Host "Lösche $($quarantineMsgs.Count) Nachricht(en) von: $senderValue" -ForegroundColor Orange
# 4. Nachrichten endgültig löschen
$quarantineMsgs | ForEach-Object {
Delete-QuarantineMessage -Identity $_.Identity -Confirm:$false
}
}
}
Write-Host "Vorgang abgeschlossen." -ForegroundColor Green

