Jump to content

Powershell Get-MessageTrackingLog -> Brainbug


Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Empfohlene Beiträge

Geschrieben

Moin,

 

Was ich möchte: Die Anzahl aller Mails die wir von einer Postfachdatenbank/ Domain von uns verschickt wurden. Und das Monatlich.

 

Der Befehl läuft durch und die domain.log wird auch erstellt. Aber sie ist leer. Vermutlich ists nur nen kleiner Fehler, aber ich raffs nicht.

EXC2010, Skript wird auf dem Server mit der Transporterrolle gefahren.

 

Hier mein Aufruf:

 

C:\skripte\exc-stat>Get-MessageTrackingLog -ResultSize Unlimited -Start "01/01/2012 00:00:00" -End "01/31/2012 23:5
9:59" -EventId "Send" -Sender "*@domain.tld" > C:\log\exc-stat\domain.log

 

Ideen?

Geschrieben

Moin,

 

Sender nimmt nur komplett Mail-Adresse, keine *.

 

Daher musst Du das Ergebnis manuell selektieren, bevor Du es speicherst:

Get-MessageTrackingLog -ResultSize Unlimited -Start "01/01/2012 00:00:00" -End "01/31/2012 23:59:59" -EventId "Send" | Where-Object { $_.Sender -like "*@domain.tld" } > C:\log\exc-stat\domain.log

Geschrieben

Vielen Dank. Aber werden laut Technet nicht Wildcards schon dort supportet?! Brainbug gefunden. Danke.

 

Edit: Kurze Frage noch, gibt Get-MessageTrackingLog nur die Mails nach extern aus? Ich hab nicht eine Mail von intern nach intern drin. Hm.

Geschrieben

Moin,

 

kein Denkfehler, Du hast es missverstanden. Dein zitiertet Satz fängt als Einleitung an mit:

 

You can control the output of the Get-MessageTrackingLog cmdlet by using command output options in the Exchange Management Shell according to the following guidelines:

 

Dein Satz bezieht sich auf die AUSGABE. Die kannst Du steuern, auch mit Wildcards. Im dritten Satz steht ja auch, dass Du die Ausgabe in eine Datei speichern kannst, was das CMDLET ja auch nicht kann.

 

Gemeint sind hier die Mittel der Shell selbst.

 

Diese Information ist ziemlich überflüssig, denn mit PowerShell-Mittel kann man so ziemlich alles machen - egal, welches CMDLET den Input liefert.

Geschrieben

Alles klar, danke für die Erklärung. Funktioniert jetzt auch so wie ich das will. Nur zwei Fragen bleiben noch offen.

 

1. ich muss mir die Stats von allen Hub/CAS Rollenservern holen und sie dann zusammenrechnen lassen. Geht das auch alles von einem Server aus? SOLVED

 

2. Kann es sein das das CMDLET nur die externen Mails auflistet?

 

gruß

Geschrieben (bearbeitet)

Get-ExchangeServer | where {$_.isHubTransportServer -eq $true -or $_.isMailboxServer -eq $true} | Get-MessageTrackingLog -ResultSize Unlimited -Start $startdate -End $enddate | Where-Object { $_.Sender -like "*@domain.tld" -and $_.EventID -eq "SEND" -or $_.EventID -eq "DELIVER"} >> C:\exc-stat\domain.log

 

Okay, das funktioniert ansich. Nur leider listet der Deliver Parameter alles mögliche auf :( eine Idee wie ich auch die Mails von intern nach intern rausbekomme?

 

Edit:

Kleines Verständnisproblem:

Ich sage ihm er soll mir alle Einträge rauswerfen die:

 

Sender = *@domaint.tld

und

EventID = SEND

oder

EventID = DELIVER

 

soweit so gut ABER: ich habe in meiner domain.log auch Eintrage drin die, wo der SENDER name@Domain2.tld ist.

 

Edit2: ich hab alles in dem logfile :D. Ich vermute mal das einfach aneinanderreihen hat wohl nicht geklappt.

 

Edit3:

Get-ExchangeServer | where {$_.isHubTransportServer -eq $true -or $_.isMailboxServer -eq $true} | Get-MessageTrackingLog -ResultSize Unlimited -Start $startdate -End $enddate | Where-Object { $_.Sender -like "*@domain.tld" -and { Where-Object { $_.EventID -eq "SEND" -or $_.EventID -eq "DELIVER"}}} >> C:\exc-stat\domain.log

 

Auch das funktioniert nicht wie gewollt...

bearbeitet von Schranz
Geschrieben

Lösung:

 

Get-ExchangeServer | where {$_.isHubTransportServer -eq $true -or $_.isMailboxServer -eq $true} | Get-MessageTrackingLog -ResultSize Unlimited -Start $startdate -End $enddate | Where-Object { $_.Sender -like "*@domain.tld" -and ( $_.EventID -eq "SEND" -or $_.EventID -eq "DELIVER")} >> C:\exc-stat\domain.log

 

Es waren runter Klammern von nöten.

Geschrieben

Bonusfrage:

Ich habe vorne

 

Get-ExchangeServer | where {$_.isHubTransportServer -eq $true -or $_.isMailboxServer -eq $true}

 

stehen, damit er nur die Messagelogs auf den Hub/Cas Servern durch pflügt. Aber in der Console sehe ich, das er auch die Server mit der DAG Rolle durchsucht, warum tut er das jetzt? Heute morgen hat er das noch nicht getan.

Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Schreibe einen Kommentar

Du kannst jetzt antworten und Dich später registrieren. Falls Du bereits ein Mitglied bist, logge Dich jetzt ein.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung jetzt entfernen

  Only 75 emoji are allowed.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor-Fenster leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

×
×
  • Neu erstellen...