Hallo zusammen,
ich habe folgende Aufgabe bekommen: ich soll alle Mailadressen sammeln, an die wir schreiben und zwar an alle unsere Partner weltweit. Zweck des ganzen ist es einen Mailverteiler aufzubauen, wo wir unseren Partnern mitteilen, wenn in Deutschland ein Feiertag und daher das Büro nicht besetzt ist. Unsere Partner senden uns deren Feiertage ebenso.
Nach vielem Suchen über Google bin ich auf Get-MessageTrackingLog gestoßen und habe mir folgenden Befehl erstellt:
Get-MessageTrackingLog –Start (Get-Date).AddHours(-1) –Resultsize Unlimited -EventId "Send" | Where-Object {$_.sender –like "*@meinedomain.de"} > C:\mailadress.txt
Das funktioniert im Prinzip schon mal, aber ich habe noch einige Punkte zur Verbesserung:
1. Zum Testen frage ich ja nur die Daten der letzten Stunde ab. Wie finde ich heraus, wie weit die Logs zurückgehen?
2. Wie kann ich die Ausgabe beinflussen? Ich bekomme jetzt 5 Spalten, von denen mich eigentlich nur die Spalte Recipients interessiert. Wer die Mails gesendet hat oder der Betreff interessieren mich nicht.
3. Das Problem in der Ergebnisdatei ist auch, dass die Spalte Recipients zu schmal ist und manche Adressen nicht vollständig erscheinen, sondern mit ... enden.
4. Das dritte Problem ist, dass manchmal ja mehrere Empfänger in der Spalte Recipients stehen. Bekomme ich die auch irgendwie einzeln?
Ist das mit Get-MessageTrackingLog überhaupt der richtige Ansatz oder gibt es da was besseres?
Ich kenne mich weder mit Powershell, noch mit Exchange besonders gut aus, daher verzeiht bitte meine Fragen.
Vielen Dank.
Joschi