Verwenden von Postfachüberwachungsprotokollen in Microsoft 365

Ursprüngliche KB-Nummer: 4021960

Zusammenfassung

In Microsoft 365 können Sie Postfachüberwachungsprotokolle ausführen, um zu bestimmen, wann ein Postfach unerwartet aktualisiert wurde oder ob Elemente in einem Postfach fehlen. Möglicherweise müssen Sie dies tun, z. B. wenn Elemente verschoben werden oder wenn sie unerwartet oder falsch gelöscht werden.

Beachten Sie für die vNext-Umgebung, dass Postfachüberwachungsprotokolle standardmäßig nicht aktiviert sind und für einen Benutzer aktiviert werden müssen, bevor eine Suche beginnt.

Ausführen und Überprüfen von Postfachüberwachungsprotokollen

Mit der Postfachüberwachungsprotokollierung können Benutzer Informationen zu Aktionen abrufen, die von Nichtbesitzern und Administratoren ausgeführt werden. Die Postfachüberwachungsprotokollierung ist für Mitglieder der Self-Service-Gruppe Audit Reporting Mailbox nur mit Windows Remote PowerShell verfügbar.

Hinweis

  • Standardmäßig ist nur die Überwachungsprotokollierung des Nicht-Besitzerpostfachs aktiviert, und die Überwachungsprotokollierung des Besitzerpostfachs ist deaktiviert. Wenn Sie die Überwachungsprotokollierung des Besitzerpostfachs ausführen müssen, um ein bestimmtes Problem zu untersuchen, können Sie den Prozess vorübergehend für einen Zeitraum von zwei Wochen aktivieren.
  • Einige Organisationen ermöglichen ihnen möglicherweise nicht die Verwendung der Postfachüberwachungsprotokollierung und haben daher das Feature deaktiviert.

Um dieses Problem zu untersuchen, erstellen und verwenden Sie ein Windows PowerShell Skripts mithilfe des Beispielskripts, das in Schritt 1 in diesem Abschnitt bereitgestellt wird, und passen Sie dann eine Suche an. Standardmäßig können Sie Aktionen untersuchen, die von Nichtbesitzern und Administratoren ausgeführt werden. Dieses Skript exportiert Inhalte in einer vereinfachten, durch Trennzeichen getrennten Wertedatei (.csv), um Ihnen bei der Problembehandlung von Berichten über Elemente zu helfen, die fehlen oder unerwartet aktualisiert wurden.

Wichtig

Kunden werden empfohlen, das von Microsoft Online Services bereitgestellte Skript zu verwenden, um bei bestimmten Untersuchungen zu helfen. Microsoft Online Services-Skripts sind generisch und sollten in allen Kundenumgebungen verwendet werden können. Wenn beim Ausführen eines Skripts Fehler auftreten, sollte der Inhalt des Skripts als Beispiel verwendet werden, um ein angepasstes Skript für eine bestimmte Kundenumgebung zu erstellen. Microsoft Online Services stellt das Skript als Komfort für Microsoft 365-Kunden ohne ausdrückliche oder stillschweigende Garantie bereit.

Schritt 1: Ausführen des Skripts

Führen Sie die folgenden Schritte aus, um das Skript auszuführen:

  1. Starten Sie Editor, und kopieren Sie dann den folgenden Code in die Datei. Der Code verwendet den Befehl, der search-mailboxAuditLog Teil von Microsoft Exchange Server ist.

     param ([PARAMETER(Mandatory=$TRUE,ValueFromPipeline=$FALSE)]
    [string]$Mailbox,
    [PARAMETER(Mandatory=$TRUE,ValueFromPipeline=$FALSE)]
    [string]$StartDate,
    [PARAMETER(Mandatory=$TRUE,ValueFromPipeline=$FALSE)]
    [string]$EndDate,
    [PARAMETER(Mandatory=$FALSE,ValueFromPipeline=$FALSE)]
    [string]$Subject,
    [PARAMETER(Mandatory=$False,ValueFromPipeline=$FALSE)]
    [switch]$IncludeFolderBind,
    [PARAMETER(Mandatory=$False,ValueFromPipeline=$FALSE)]
    [switch]$ReturnObject)
    BEGIN {
      [string[]]$LogParameters = @('Operation', 'LogonUserDisplayName', 'LastAccessed', 'DestFolderPathName', 'FolderPathName', 'ClientInfoString', 'ClientIPAddress', 'ClientMachineName', 'ClientProcessName', 'ClientVersion', 'LogonType', 'MailboxResolvedOwnerName', 'OperationResult')
      }
      END {
        if ($ReturnObject)
        {return $SearchResults}
        elseif ($SearchResults.count -gt 0)
        {
        $Date = get-date -Format yyMMdd_HHmmss
        $OutFileName = "AuditLogResults$Date.csv"
        write-host
        write-host -fore green "Posting results to file: $OutfileName"
        $SearchResults | export-csv $OutFileName -notypeinformation -encoding UTF8
        }
        }
        PROCESS
        {
        write-host -fore green 'Searching Mailbox Audit Logs...'
        $SearchResults = @(search-mailboxAuditLog $Mailbox -StartDate $StartDate -EndDate $EndDate -LogonTypes Owner, Admin, Delegate -ShowDetails -resultsize 50000)
        write-host -fore green '$($SearchREsults.Count) Total entries Found'
        if (-not $IncludeFolderBind)
        {
        write-host -fore green 'Removing FolderBind operations.'
        $SearchResults = @($SearchResults | ? {$_.Operation -notlike 'FolderBind'})
        write-host -fore green 'Filtered to $($SearchREsults.Count) Entries'
        }
        $SearchResults = @($SearchResults | select ($LogParameters + @{Name='Subject';e={if (($_.SourceItems.Count -eq 0) -or ($_.SourceItems.Count -eq $null)){$_.ItemSubject} else {($_.SourceItems[0].SourceItemSubject).TrimStart(' ')}}},
        @{Name='CrossMailboxOp';e={if (@('SendAs','Create','Update') -contains $_.Operation) {'N/A'} else {$_.CrossMailboxOperation}}}))
        $LogParameters = @('Subject') + $LogParameters + @('CrossMailboxOp')
        If ($Subject -ne '' -and $Subject -ne $null)
        {
        write-host -fore green 'Searching for Subject: $Subject'
        $SearchResults = @($SearchResults | ? {$_.Subject -match $Subject -or $_.Subject -eq $Subject})
        write-host -fore green 'Filtered to $($SearchREsults.Count) Entries'
        }
        $SearchResults = @($SearchResults | select $LogParameters)
        }
    
  2. Klicken Sie im Menü Datei auf Speichern unter.

  3. Klicken Sie im Feld Dateityp auf Alle Datei.

  4. Geben Sie im Feld DateinameRun-MailboxAuditLogSearcher.ps1ein, und klicken Sie dann auf Speichern.

  5. Starten Sie Windows PowerShell, und stellen Sie dann eine Verbindung mit Windows Remote PowerShell her.

  6. Suchen Sie das Verzeichnis, in dem Sie das Skript gespeichert haben, und führen Sie dann das Skript aus.

    .\Run-MailboxAuditLogSearcher.ps1
    

    Hinweis

    • Wenn Sie das Skript ohne Parameter ausführen, werden Sie zur Eingabe der folgenden Standardparameter aufgefordert:
      • Postfach
      • StartDate
      • EndDate
    • Um nach Einträgen vom aktuellen Tag zu suchen, fügen Sie dem Enddatumswert im Eingabeaufforderungsfenster einen Tag hinzu. Wenn das aktuelle Datum beispielsweise der 14.03.2017 ist und Sie den aktuellen Tag in Ihre Suche einbeziehen möchten, geben Sie den 15.03.2017 als Enddatum ein.

In Microsoft 365 werden Postfachüberwachungsprotokollierungseinträge 90 Tage lang im Postfach aufbewahrt. Sie werden aufgefordert, ein Start- und Enddatum für die Suche anzugeben. Sie können mehrere optionale Parameter verwenden, um die Suche anzupassen. Eine Beschreibung dieser Parameter finden Sie im Abschnitt "Weitere Informationen".

Wenn Elemente gefunden werden, nachdem das Skript ausgeführt wurde, erhalten Sie eine Meldung, die der folgenden ähnelt:

Screenshot der Meldung nach dem Ausführen des Skripts.

Diese Beispielmeldung gibt an, dass der Suchvorgang 11 Einträge gefunden hat. Standardmäßig werden die FolderBind-Einträge herausgefiltert, und die folgenden Vorgangstypen bleiben erhalten:

  • Kopieren
  • Erstellen
  • HardDelete
  • MessageBind
  • Verschieben
  • MoveToDeletedItems
  • SendAs
  • SendOnBehalf
  • SoftDelete
  • Aktualisieren

Hinweis

Der FolderBind-Vorgang gibt die Zeiten an, zu denen ein Nichtbesitzer auf das Postfach zugreift. Dies ist der häufigste Vorgang. Sie müssen die FolderBind-Vorgänge nicht anzeigen, wenn Sie ein Element untersuchen, das aktualisiert oder gelöscht wird.

Überprüfen Sie die Ausgabe der .csv Datei. Die nützlichsten Spalten werden exportiert, und einige dieser Spalten werden zusammengeführt, um die Überprüfung der Ausgabe zu erleichtern. Weitere Informationen zu den exportierten Spalten finden Sie im Abschnitt "Weitere Informationen".

Überwachungsprotokollierung des Besitzerpostfachs

Standardmäßig. Die Besitzerüberwachungsprotokollierung ist nicht aktiviert. Sie sollte nur verwendet werden, wenn Sie eine Aktion des Besitzers des Postfachs untersuchen müssen. Es sollte für einen begrenzten Zeitraum, etwa zwei Wochen, verwendet werden. Dies liegt daran, dass die Überwachungsprotokolleinträge im Postfach gespeichert werden und dies dazu führen kann, dass der Postfachspeicher den Größengrenzwert überschreitet.

Führen Sie die folgenden Schritte aus, um die Besitzerüberwachungsprotokollierung zu aktivieren:

  1. Bestimmen Sie, ob die Postfachüberwachungsprotokollierung aktiviert ist. Führen Sie dazu das folgenden Cmdlet aus:

    Get-Mailbox <useridentity> | ft AuditEnabled
    
  2. Wenn das Ergebnis True ist, überspringen Sie diesen Schritt. Wenn das Ergebnis False ist, führen Sie das folgende Cmdlet in Windows PowerShell aus:

    Set-Mailbox <useridentity> -AuditEnabled $true
    
  3. Aktivieren Sie die Überwachungsprotokollierung des Besitzers. Führen Sie dazu das folgenden Cmdlet aus:

    Set-Mailbox <useridentity> -AuditOwner "Create,HardDelete,Move,MoveToDeletedItems,SoftDelete,Update"
    
  4. Führen Sie die Run-MailboxAuditLogSearcher.ps1erneut aus, und überprüfen Sie die Daten.

  5. Deaktivieren Sie nach Abschluss der Problembehandlung die Überwachungsprotokollierung des Besitzers. Führen Sie dazu das folgenden Cmdlet aus:

    Set-Mailbox <useridentity> -AuditOwner $none
    

Weitere Informationen

Optionale Skriptparameter

In der folgenden Liste werden optionale Parameter beschrieben, die unterschiedliche Ergebnisse generieren, wenn sie zusammen mit dem Run-MailboxAuditLogSearcher Skript verwendet werden:

  • IncludeFolderBind: Wenn Sie diesen Schalter verwenden, wird der FolderBind-Vorgang nicht aus der Ausgabe gefiltert. Sie können FolderBind-Informationen verwenden, um probleme mit dem Postfachzugriff zu untersuchen.

    Das folgende Cmdlet durchsucht beispielsweise das Postfach "Testbenutzer 1" und umfasst alle Vorgänge:

    .\Run-MailboxAuditLogSearcher.ps1 -IncludeFolderBind -Mailbox "<Test User 1gt;" -StartDate "<04/10/17gt;" -EndDate "<04/27/17gt;&quot
    
  • Betreff: Wenn Sie diesen Schalter verwenden, können Sie den Betreff eines Elements angeben, um die Suche nach Vorgängen einzuschränken, die für dieses Element ausgeführt werden.

    Das folgende Cmdlet filtert beispielsweise alle Ausgaben mit Ausnahme von Elementen, für die der Betreff "Gute Nachrichten" festgelegt ist:

    .\Run-MailboxAuditLogSearcher.ps1 -Subject "<Good News>" -Mailbox "<test1@contoso.comgt;" -StartDate "<04/10/17gt;" -EndDate "<04/27/17gt;&quot
    
  • ReturnObject: Wenn Sie diesen Schalter verwenden, wird das Ergebnis auf dem Bildschirm angezeigt, aber es wird nicht in eine .csv Datei exportiert.

    Das folgende Cmdlet zeigt beispielsweise die Ausgabe auf dem Bildschirm an:

    .\Run-MailboxAuditLogSearcher.ps1 -ReturnObject -Mailbox "<Test User 1gt;" -StartDate "<04/10/17gt;" -EndDate "<04/27/17gt;&quot
    

Exportierte Spalten aus der .csv-Datei

Die nützlichsten Spalten der .csv-Datei werden exportiert. Einige dieser Spalten werden zusammengeführt, um die Überprüfung der Ausgabe zu erleichtern. In der folgenden Tabelle sind die exportierten Spalten aufgeführt.

Spalte Beschreibung
Betreff Betreff des Artikels
Vorgang Aktionen, die für ein Element ausgeführt werden
LogonUserDisplayName Anzeigename des Benutzers, der angemeldet ist
LastAccessed Zeitpunkt, zu dem der Vorgang ausgeführt wurde
DestFolderPathName Zielordner für den Verschiebungsvorgang
FolderPathName Pfad des Ordners
ClientInfoString Details zum Client, der den Vorgang ausführt
LastAccessed IP-Adresse für den Clientcomputer
ClientMachineName Name des Clientcomputers
ClientProcessName Name des Clientanwendungsprozesses
ClientVersion Version der Clientanwendung
LogonType Anmeldetyp des Benutzers, der den Vorgang
ausführtHinweis Anmeldetypen umfassen Folgendes:
- Delegat für Nicht-Besitzer
- Administrator
- Postfachbesitzer (standardmäßig nicht protokolliert)
MailboxResolvedOwnerName Aufgelöster Name des Postfachbenutzers
Hinweis Der aufgelöste Name weist das folgende Format auf:
Domain\SamAccountName
OperationResult Der Status derVorgangsergebnisse
des Hinweisvorgangs umfasst folgendes:
- Fehler
- PartiallySucceeded -
Erfolgreich
CrossMailboxOperation Informationen dazu, ob der protokollierte Vorgang ein postfachübergreifender Vorgang ist (z. B. Kopieren oder Verschieben von Nachrichten zwischen Postfächern)

Weitere Informationen zur Postfachüberwachungsprotokollierung

  • Das Cmdlet Search-MailboxAuditLog wird im Beispielskript in Schritt 1 verwendet, um ein einzelnes Postfach synchron zu durchsuchen. Sie können dies auch tun, indem Sie das Cmdlet in Windows Remote PowerShell ausführen.

    Weitere Informationen zum Cmdlet findest du im folgenden TechNet-Artikel:

    Search-MailboxAuditLog

  • Sie können ein oder mehrere Postfächer asynchron durchsuchen. Führen Sie dazu das folgende Cmdlet in Windows Remote PowerShell aus:

    New-MailboxAuditLogSearch
    

    Weitere Informationen zu diesem Cmdlet findest du im folgenden TechNet-Artikel:

    New-MailboxAuditLogSearch

    Weitere Informationen zu den Standardmäßigen Überwachungsprotokolleinträgen für Postfächer finden Sie im folgenden TechNet-Artikel im Abschnitt "Postfachüberwachungsprotokolleinträge":

    Postfachüberwachungsprotokollierung in Exchange 2016