Mit der Überwachungsprotokollierung können bestimmte Aktionen für Postfächer protokolliert werden, besonders sinnvoll ist diese Funktion für Postfächer auf denen mehrere Benutzer Zugriff haben. So lässt sich zum Beispiel nachvollziehen, welcher Benutzer auf eine bestimmte Mail geantwortet hat, oder wer welche Mail gelöscht hat. Auch bei den normalen Benutzerpostfächern, kann die Überwachungsprotokollierung (Audit Logging) hilfreich sein. Zwar sind die Audit Logs meist nicht für die Fehleranalyse hilfreich, aber es lässt sich so feststellen, was der Benutzer mit einer Mail angestellt hat.
In der Standardeinstellung sind die Mailbox Audit Logs deaktiviert und können je Postfach aktiviert werden. Die Mailbox Audit Logs werden in der Standardeinstellung 90 Tage lang gespeichert.
Die folgenden Aktionen werden für Postfächer mit aktivierten Mailbox Audit Logging protokolliert:
Konfigurieren der Überwachungsprotokollierung
Um das Mailbox Audit Logging für ein bestimmtes Postfach zu aktivieren, kann der folgende Befehl verwendet werden:
Get-Mailbox frank | Set-Mailbox -AuditEnabled $true
Mit dem folgenden Befehl kann die Überwachungsprotokollierung für alle Postfächer aktiviert werden:
Get-Mailbox -ResultSize Unlimited | Set-Mailbox -AuditEnabled $true
Das Abschalten der Protokollierung kann mit folgenden Befehlen für ein einzelnes Postfach oder für alle Postfächer durchgeführt werden:
Get-Mailbox Frank | Set-Mailbox -AuditEnabled $false Get-Mailbox -ResultSize Unlimited | Set-Mailbox -AuditEnabled $false
In der Standardeinstellung beträgt die Aufbewahrungszeit für die Mailbox Audit Logs 90 Tage, dieses Limit lässt sich mit dem folgenden Befehlen anpassen (Zum Beispiel auf 180 Tage für ein einzelnes Postfach oder für alle):
Get-Mailbox Frank | Set-Mailbox -AuditLogAgeLimit 180 Get-Mailbox -ResultSize Unlimited | Set-Mailbox -AuditLogAgeLimit 180
Je nach Aktivität des Benutzers und Dauer der Speicherung der Logs, erhöht sich der Speicherbedarf der Mailbox. Der erhöhte Platzbedarf muss also mit einkalkuliert werden. bevor die Überwachung für alle Postfächer aktiviert wird, sollte dies zunächst nur für einige Postfächer konfiguriert werden, somit lässt sich der zusätzliche Platzbedarf abschätzen.
Prüfen der Überwachungsprotokollierung
Nachdem die Protokollierung eingeschaltet wurde, wird ein neuer Ordner mit dem Namen “Audits” im Postfach des Benutzers erstellt. In diesem Ordner werden die Überwachungsereignisse gespeichert. Der Benutzer kann nicht auf den Ordner “Audits” zugreifen und bekommt ihn auch nicht in Outlook angezeigt. Mit der Exchange Management Shell lässt sich prüfen, ob der Ordner erstellt wurde und ob bereits Ereignisse gespeichert wurden. Dazu kann der folgende Befehl verwendet werden:
get-mailbox frank | Get-MailboxFolderStatistics | where {$_.name -eq "Audits"} | ft name,itemsinfolder
Im Screenshot ist zu sehen, dass der Ordner “Audits” im Postfach “Frank” erstellt wurde und bereits 5 Ereignisse enthält. Auf diesem Weg lässt sich auch der Speicherbedarf der Überwachungsprotokollierung prüfen:
get-mailbox frank | Get-MailboxFolderStatistics | where {$_.name -eq "Audits"} | ft name,itemsinfolder,foldersize
Abrufen der Protokolle
Damit ein Benutzer die Überwachungsprotokolle einsehen kann, muss der Benutzer Mitglied der AD-Gruppe “Compliance Management” sein. In der Standardeinstellung hat kein Benutzer das Recht die Protokolle einzusehen. Mit dem folgenden Befehl kann ein Benutzer zur Gruppe “Compliance Management” hinzugefügt werden:
Add-RoleGroupMember "Compliance Management" -Member administrator
Dieser Vorgang ist auch direkt via Active Directory Konsole oder über das Exchange Admin Center möglich.
Häufig werden nur die Überwachungsprotokolle für einen bestimmten Benutzer benötigt. Die schnellste Möglichkeit ist es, sich das Protokoll direkt auf der Exchange Management Shell anzeigen zu lassen. Für einen einzelnen Benutzer funktioniert dies mit dem folgenden Befehl:
Search-MailboxAuditLog frank -ShowDetails -StartDate ((get-date).AddDays(-2)) -EndDate (get-date)
In diesem Fall werden die Ereignisse der letzten 2 Tage für den Benutzer “Frank” in der Shell angezeigt:
Bei Bedarf lassen sich die Ereignisse entsprechend filtern. Hier zum Beispiel alle Ereignisse der letzten 2 Tage in denen ein “HardDelete” ausgeführt wurde (Mail mit Shift+Entf gelöscht):
Search-MailboxAuditLog frank -ShowDetails -StartDate ((get-date).AddDays(-2)) -EndDate (get-date) | where {$_.Operation -eq "HardDelete"}
Im Exchange Admin Center gibt es ebenfalls eine Möglichkeit an die Überwachungsprotokolle zu kommen. In diesem Fall werden die Ergebnisse per E-Mail als XML-Datei an einen Empfänger zugestellt. Die XML-Datei lässt sich dann wiederum mit der PowerShell oder anderen Tools weiterverarbeiten.
Die Protokolle können wie folgt im Exchange Admin Center abgerufen werden:
Es lässt sich dann entsprechend festlegen für welche Benutzer die Postfachüberwachungsprotokolle exportiert werden sollen und wer der Empfänger der Ergebnisse ist:
Das Zustellen der Ergebnisse per Mail und XML-Datei lässt sich auch direkt aus der Exchange Management Shell auslösen, dafür kann der folgende Befehl verwendet werden:
New-MailboxAuditLogSearch "hans3" -Mailboxes hans,frank -StatusMailRecipients frank@frankysweb.org -StartDate ((get-date).AddDays(-2)) -EndDate (get-date) -ShowDetails
Der folgende Screenshot zeigt eine entsprechende Mail und die XML-Datei:
Die XML-Datei lässt sich dann wiederum mit entsprechenden Tools filtern oder weiter verarbeiten. Auch die PowerShell bietet sich hier hier an:
Hinweis
Wenn der Exchange Server auf einem “nicht englisch sprachigem” Server installiert wurde, werden keine Audit Logs angezeigt. Hier hilft es die Sprache auf “English – US” umzustellen:
Alle Achtung Franky :)
Ist nicht das erste mal das ich bei Dir (und nicht bei MS!) die Lösung für ein, für mich, aktuelles Problem finde.
Tausend Dank für Deine Mühe den Artikel zu schreiben!
Hallöchen,
ZITAT:
Hinweis
Wenn der Exchange Server auf einem “nicht englisch sprachigem” Server installiert wurde, werden keine Audit Logs angezeigt. Hier hilft es die Sprache auf “English – US” umzustellen:
ich fand diesen Beitrag sehr gut und wollte Ihn umsetzen. Nachdem ich die Einstellungen entsprechend gemacht habe, wurde ein Neustart initiiert. Nach dem Neustart war alles Englisch, okay, nur dann kam folgendes Problem auf.
Es konnten Mails versendet werden, aber es kamen keine mehr an und die queue warteschlange wurde nicht mehr abgearbeitet. Gut das ich vorher einen Snapshot gemacht habe. Denn nach wiederherstellen dieses, funktionierte wieder alles reibunglos.
Gibt es dazu eine Idee??
Liebe Grüsse
Michael
Dann will der Dienst Exchange-Postfachtransportzustellung noch unter dem Account „Netzwerkdienst“ starten. Den gibt es auf einem englischen Server nicht. Von Hand auf „Network Service“ umstellen.
Ahoi,
da Franks Artikel auf Exchange2016 fußt und es bei Ihm wohl möglich ist die Audits zu nutzen, obwohl der Server in Deutsch ist, frage ich mal was da der Unterschied ist.
Ich habe 2010 und 2016 im Einsatz. Ich schreibe die Audits für über 200 Postfächer seit Jahren ( in 2010 ) und nun kann ich unter 2016 ( deutsch ) nicht mehr auf die Logs zugreifen, sehr wohl aber noch über 2010.
Da das Umstellen auf Englisch wohl auch nicht ( immer ) funktioniert, das Problem schon bei EXC2013 existierte, sehe ich Seitens MS nicht die Spur eines Willens das noch zu fixen. Das macht micht echt wieder sprachlos.
Gibt es noch andere Lösungsansätze ?
VG
Volker
Ich habe wie in KB3054391 beschrieben einen meiner 3 Server auf English umgestellt, leider werden mir die Audit logs trotzdem nicht gezeigt obwohl 9 Stück im Ordner Audits sind
Vielen Dank für die Zusammenfassung.
Wird das Auswerten der Logs eigentlich auch protokolliert?
Gruß,
Wolfgang
Hi Frank!
Vielen Dank für den Artikel. Reicht es wenn man nur einen seiner Exchange Server auf Englisch umstellt?
Grüße aus Bielefeld,
Andreas
Hallo Frank,
wieder ein sehr schöner Artikel :-)
Ich habe alles soweit konfiguriert (wir setzten Exchange DAG unter 2013 CU21 ein – Deutsch).
Ich bin unter anderem Mitglied:Organization Management, Compliance Management
Ich bin über Powershell und auch sonst nicht in der Lage die Audits zu lesen:
Ich kann alledings sehen, dass es Einträge Audits gibt.
Meldung der Shell:
Search-MailboxAuditLog : Das anfordernde Konto ist nicht berechtigt, auf das Überwachungsprotokoll zuzugreifen.
In Zeile:1 Zeichen:1
+ Search-MailboxAuditLog -Identity blabla -ShowDetails -StartDate 01/01/2017 -EndD …
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : NotSpecified: (:) [Search-MailboxAuditLog], AuditLogAccessDeniedException
+ FullyQualifiedErrorId : [Server=EX1,RequestId=d4bf6723-a22f-4063-b7f7-b7a71e5470c4,TimeStamp=05.07.2018 11:15:06
] [FailureCategory=Cmdlet-AuditLogAccessDeniedException] 4CC2A0FD,Microsoft.Exchange.Management.SystemConfiguratio
nTasks.SearchMailboxAuditLog
Noch einen Tipp, wo ich noch nachbessern muss?
Grüße
Volker
Hallo,
wieder einmal vielen Dank für die äusserst hilfreichen Infos.
Ich wollte auch gleich beim Kunden freudig zur Tat schreiten als ich merkte, dass die interessanten Adressen öffentliche Ordner sind.
Gibt es da etwas vergleichbares zur Protokollierung auf Ordner oder Gesamtebene?
Hallo Henning,
aktuell funktioniert das Audit Logging nicht für öffentliche Ordner. Siehe hier:
https://docs.microsoft.com/en-us/exchange/collaboration/public-folders/faq
„Does mailbox audit logging work against public folders?
No. Not at this time.“
Gruß,
Frank
Hi Frank!
Super interessanter Artikel!
Wie zu erkennen ist, schreibst du als Profi nur sehr Powershell-lastige oder Exchange-lastige Infos.
Das Thema ist für viele Kunden sehr interessant und bisher haben wir keine Software gefunden, die das benutzerfreundlich darstellt – auch microsoftig ist nach deinem Artikel das herausfinden, wer was gelöscht/verschoben/beantwortet hat, sehr aufwändig.
Gibt es dafür nicht ein Programm/Software, die die Auswertung der Protokollierung ermöglicht?
Oder eventuell ist das Anlass für ein Skript, dass eine Protokollierung veranschaulicht?
Datum/Zeit – Benutzer – Benutzer-Aktion mit Email-ID/Betreff
Denkst du, sowas ist sehr schwer zu skripten/zu erstellen?
Lg von einem deiner treuen Fans aus Österreich,
Roman
Hallo Roman,
es gibt spezielle Software für diesen Einsatzzweck. Bei Bedarf kann ich dir Links schicken.
Gruß,
Frank
Hallo Roman
anbei eine Software die Exchange Audits auswerten kann. Wir verwenden vom selben Hersteller das AD Audit und es funktioniert extrem gut.
https://www.manageengine.com/products/exchange-reports/exchange-auditing-overview.html
Hallo Roman
du kannst ja die Daten auch ganz einfach mittels Excel auswerten
$ergebnis = Search-MailboxAuditLog -Identity „user“ -ShowDetails -StartDate 01/01/2017 ….
$ergebnis | export-csv