My first PowerShell Module: Icewolf.EXO.SpamAnalyze
Hallo zusammen,
Es braucht einiges an Know-How um herauszufinden, weshalb ein Mail im Junk-E-Mail Folder landet oder gar in die Quarantäne verschoben wurde.
Als erstes macht man ein MessageTrace
$MT = Get-MessageTrace -StartDate (get-date).AddDays(-10) -EndDate (get-date) -SenderAddress andres.bohren@gmail.com
$MT | Format-Table Received, SenderAddress, RecipientAddress, Subject, Status, MessageTraceID
$MTD = Get-MessageTraceDetail -MessageTraceId 5b018c12-df4a-4300-df60-08d90bca587d -RecipientAddress a.bohren@icewolf.ch -StartDate (get-date).AddDays(-10) -EndDate (get-date)
$MTD
Schauen wir uns das "Spam" Event ein bisschen genauer an. Im Property "Data" gibt es eine XML Struktur
$Spam = $MTD | where {$_.Event -eq "Spam"}
$Spam | fl
Diese XML Struktur laden wir in ein XML Objekt und lassen uns das anzeigen
[xml]$xmlS = $Spam.Data
$xmls.root.MEP | fl
Install-Module PowershellGet -Force
Publish-Module -Name <moduleName> -NuGetApiKey <apiKey>
Danach ist das PowerShell Modul in der PowerShell Gallery publiziert. Hier kann auch der Source Code eingesehen werden.
https://www.powershellgallery.com/packages/Icewolf.EXO.SpamAnalyze/
Prüfen ob das Modul schon installiert ist
Get-Module Icewolf* -ListAvailable
Die PowerShell "Als Administrator" starten und dann das Modul installieren
Das Comandlet nutzen
Invoke-SpamAnalyze -RecipientAddress <RecipientEmailAddress> -SenderAddress <SenderEmailAddress>
Nun muss man die MessageTraceID vom gewünschten Email kopieren und einfügen.
Nun werden Details vom Email angezeigt. Auch ob sich Absenderemailadresse oder Absender Domain in der persönlichen SafeSender / BlockedSender Liste befinden oder in der AntispamPolicy von Exchange Online Protection (EOP).
Zusätzlich