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.
PowerShell-Lösung
# 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