Es gab die Anforderung herauszufinden wie viele E-Mail in einer bestimmten Zeitspanne verschickt INTERN verschickt werden. Dafür habe ich folgendes Skript geschrieben:
# Wie viele Tage in der Vergangenheit soll begonnen werden zu zählen? $VorTagen = 5 # Von da ab, wie viele Tage sollen berücksichtigt werden? $AnzahlTage = 5 # In diesem Beispiel werden alle Mails der letzten 5 Tage genommen. # Man kann auch vor 15 Tagen beginnen und von dort ab 7 Tage zählen, etc.... $Tabelle = @() for ($i = 0; $i -lt $AnzahlTage; $i++){ $Nachrichten = @() $IDs = @() $StartDatum = ((Get-Date).AddDays(-$VorTagen+$i)) $EndDatum = ((Get-Date).AddDays(-$VorTagen+$i+1)) # @domain.de muss hier noch angepasst werden $logs = Get-MessageTrackingLog -Start $StartDatum -End $EndDatum -ResultSize Unlimited | ? {$_.EventID -like "Receive" -and $_.Sender -like "*@domain.de" -and $_.Recipients -like "*@domain.de*"} $logs | % { if(!($IDs -like $_.InternalMessageID)){ $Nachrichten += $_; $IDs += $_.InternalMessageID } } $Reihe = New-Object System.Object $Reihe | Add-Member -type NoteProperty -name StartDatum -value $StartDatum $Reihe | Add-Member -type NoteProperty -name EndDatum -value $EndDatum $Reihe | Add-Member -type NoteProperty -name AnzahlNachrichten -value $Nachrichten.Count $Tabelle += $Reihe } # Es wird eine Tabelle ausgegeben. Diese kann dann wiederum weiter verarbeitet werden. $Tabelle