Analyse der SMTP Traffic Log Dateien per Powershell
Hallo,
habe mir eine kleine Powershell Funktion geschrieben mit der ich die Exchange SMTP Logdateien Filtern kann.
Ist nichts besonderes und es gibt bestimmt auch andere Wege, aber ich wollte es einfach mal teilen um zu schauen, ob noch jemand was dazu beitragen kann / möchte.
Nach Eingabe einer Email Adresse werden die letzten 3 Logdateien nach Einträgen durchsucht, die diese Adresse betreffen.
Die Ausgabe wird in die Zwischenablage kopiert und kann dann z.b. in Notepad++ importiert werden.
habe mir eine kleine Powershell Funktion geschrieben mit der ich die Exchange SMTP Logdateien Filtern kann.
Ist nichts besonderes und es gibt bestimmt auch andere Wege, aber ich wollte es einfach mal teilen um zu schauen, ob noch jemand was dazu beitragen kann / möchte.
Nach Eingabe einer Email Adresse werden die letzten 3 Logdateien nach Einträgen durchsucht, die diese Adresse betreffen.
Die Ausgabe wird in die Zwischenablage kopiert und kann dann z.b. in Notepad++ importiert werden.
function Exchangelog ()
{
$EmailAddr = Read-host "Nach welcher Email Adresse soll gesucht werden?"
$Exchfiles=gci "C:\Program Files\Microsoft\Exchange Server\V14\TransportRoles\Logs\ProtocolLog\SmtpSend" | sort creationtime | select -last 3
$exlog = "$env:temp\exlog.txt"
if (test-path $env:temp\exlog.txt) {remove-item $env:temp\exlog.txt}
foreach ($ExLogFile in $Exchfiles) {
$liste = select-string -Path $ExLogfile -pattern $EmailAddr | select line
If ($Liste) {
foreach ( $arr in $liste) {
$arr = $arr.line -split ","
$ht =@{}
$ht["Time"] = $arr
$ht["Connector"] = $arr[1]
$ht["ExchangeID"] = $arr[2]
$ht["MailFrom"] = $arr[7]
$ht | out-file $exlog -append
foreach ($ExchangeID in $HT.ExchangeID) {
$Treffer= select-string -path $ExLogFile -pattern $ExchangeID | select line | foreach-object {
$_.line.remove(0,56)
}
$Treffer | out-file $exlog -append
}
}
}
}
get-content $exlog | clip.exe
}
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 239155
Url: https://administrator.de/knowledge/analyse-der-smtp-traffic-log-dateien-per-powershell-239155.html
Ausgedruckt am: 03.01.2025 um 07:01 Uhr
3 Kommentare
Neuester Kommentar
Moin Knorkator,
zur Info: Dafür gibts das schöne CMDLet Get-MessageTrackingLog in der EMC:
Grüße Uwe
zur Info: Dafür gibts das schöne CMDLet Get-MessageTrackingLog in der EMC:
get-messagetrackinglog -resultsize unlimited -Sender "user@sender.com" | Select Sender,{$_.Recipients},{$_.RecipientStatus},MessageSubject,TimeStamp, EventId, Source, SourceContext,MessageId,InternalMessageId,ClientIP,ClientHostName,ServerIP,ServerHostName,ConnectorId,TotalBytes,RecipientCount,RelatedRecipientAddress,Reference,ReturnPath,MessageInfo | Export-Csv "C:\Nachrichtenlog.csv"