z35W7z4v9z8w

Abfrage Anzahl der E-Mails im Zeitraum

PowerShrell Konsole
PowerShell Konsole

Wer kennt es nicht?

Ein Anwender meldet sich und braucht für eine Auswertung Informationen darüber, wie viele E-Mail er in einem bestimmten Zeitraum gesendet und empfangen hat.

Diese doch recht unscheinbar wirkende Anforderung kann nicht so einfach gelöst werden, gibt es doch im Exchange keine direkte Anzeige oder Auswertungen für solch einen Sachverhalt.

„Also was tun?“, sprach Zeus

Nun, zum Glück gibt es PowerShell. Und in diesem Fall muss man auf dem Exchange-Server die Powershell für Exchange-Server starten. Innerhalb dieses PowerShell Konsole können nun bestimmte Befehle abgesetzt werden, die die gewünschten Informationen auslesen und uns das Ergebnis zur Verfügung stellen. 

So könnte das Script aussehen:

[Int] $intSent = $intRec = 0
Get-TransportServer | Get-MessageTrackingLog -ResultSize Unlimited -Start “mm/dd/yyyy” -End “mm/dd/yyyy” -Sender "user@domain.local" -EventID RECEIVE | ? {$_.Source -eq "STOREDRIVER"} | ForEach { $intSent++ }
Get-TransportServer | Get-MessageTrackingLog -ResultSize Unlimited -Start “mm/dd/yyyy” -End “mm/dd/yyyy“ -Recipients "user@domain.local" -EventID DELIVER | ForEach { $intRec++ }
Write-Host "E-mails sent:    ", $intSent
Write-Host "E-mails received:", $intRec

Innerhalb des Scripts müssen nun noch ein paar Variablen angepasst werden, damit das Script auch weiß, was es liefern soll.

-Start “mm/dd/yyyy” -End “mm/dd/yyyy” -Sender "user@domain.local"

In dieser Zeile müssen die Daten für den Start & Ende sowie die Einschränkung auf den Sender E-mail-Adresse eingeschränkt werden.

-Start “mm/dd/yyyy” -End “mm/dd/yyyy“ -Recipients "user@domain.local"

Hier entsprechend das Start & Enddatum sowie der Empfänger E-Mail-Adresse.

Im Anschluss erhält man textlich die jeweilige Anzahl der E-Mails mitgeteilt.

That´s it!

Menü schließen