Script zur Nachrichtenverfolgung

  • Hi zusammen,


    wir haben leider sehr viele Verteilergruppen in unserem Exchange.
    Um alte/ungenutzte Gruppen zu löschen würde ich nun gerne Prüfen wann die Gruppen zum letzen mal eine Mail erhalten haben.
    Mit der Toobox oder PS geht das ja mit "get-messagetrackinglog -EventID "RECEIVE" ...."


    Hat einer ein Script zur Hand, das mir für die Verteilergruppe nur auswirft viele Mails in einem Zeitraum von einem Jahr eingegangen sind?


    Vielen Dank

  • Hi,


    hast du nur einen Transportserver:


    Code
    (Get-MessageTrackingLog -ResultSize unlimited -EventId receive -Recipients verteiler@domain.tld -Start (get-date).addyears(-1)).count


    Hast du mehrere Transportserver:


    Code
    (Get-TransportServer | Get-MessageTrackingLog -ResultSize unlimited -EventId receive -Recipients verteiler@domain.tld -Start (get-date).addyears(-1)).count


    Damit bekommst du direkt die Anzahl.


    Statt (get-date).addyears(-1) für Start geht natürlich auch ein direktes Datum, z.B. "2014-04-25 00:00"


    Aber wie NobbyausHB schon schrieb, wird das Logging kaum 1 Jahr zurückreichen (Standard ist 30 Tage). Oder hast du MessageTrackingLogMaxAge früher angepasst?


    mfg, exocheck

    Mfg, exocheck

  • Danke für Eure Hilfe. Ich werde die Scripts mal versuchen und sehen wie weit ich komme.
    Habt Ihr denn noch vielleicht eine andere Idee wie ich verwaiste Verteilergruppen identifizieren kann?


    Update:
    Habe mal ein bisschen getestet. Wenn ich den 1.Code verwende und ein Ausgabe als .html anstoße, werden nur 1kb große Dateien die leer sind generiert:


    >> (Get-MessageTrackingLog -ResultSize unlimited -EventId receive -Recipients xxx@yyy.com -Start (get-date).addyears(-1)).count | ConvertTo-Html > "C:\Users\user\Documents\message track.html"

    • Offizieller Beitrag

    Moin,


    Exchange 2010 nutzt PowerShell 2.0 und da gibt es kein Array und damit keine Count-Eigentschaft, wenn die Ergebnismenge 1 oder 0 ist. Dann kommt auch nichts am Ende als Wert raus.


    Bitte setzt ganz am Anfang ein @-Zeichen vor die Klammer, also:


    @(Get-MessageTrackingLog .........


    Dann solltest Du auch 0 oder 1 finden.