Jak używać dzienników inspekcji skrzynek pocztowych na platformie Microsoft 365

Oryginalny numer KB: 4021960

Podsumowanie

W usłudze Microsoft 365 można uruchamiać dzienniki inspekcji skrzynek pocztowych, aby określić, kiedy skrzynka pocztowa została nieoczekiwanie zaktualizowana lub czy brakuje elementów w skrzynce pocztowej. Może być konieczne wykonanie tego zadania, na przykład w przypadku przeniesienia elementów lub nieoczekiwanego lub niepoprawnego usunięcia.

W przypadku środowiska vNext należy pamiętać, że dzienniki inspekcji skrzynki pocztowej nie są domyślnie włączone i należy je włączyć dla użytkownika przed rozpoczęciem wyszukiwania.

Jak uruchamiać i zaznaczać dzienniki inspekcji skrzynki pocztowej

Rejestrowanie inspekcji skrzynki pocztowej umożliwia użytkownikom uzyskiwanie informacji o akcjach wykonywanych przez użytkowników niebędących właścicielami i administratorami. Rejestrowanie inspekcji skrzynki pocztowej jest dostępne dla członków grupy samoobsługowej skrzynki pocztowej raportowania inspekcji tylko przy użyciu zdalnego programu PowerShell systemu Windows.

Uwaga

  • Domyślnie włączono tylko rejestrowanie inspekcji skrzynek pocztowych innych niż właściciel, a rejestrowanie inspekcji skrzynki pocztowej właściciela jest wyłączone. Jeśli musisz przeprowadzić rejestrowanie inspekcji skrzynki pocztowej właściciela, aby zbadać konkretny problem, możesz tymczasowo włączyć ten proces przez okres dwóch tygodni.
  • Niektóre organizacje mogą nie umożliwić korzystania z rejestrowania inspekcji skrzynki pocztowej i w związku z tym wyłączyły tę funkcję.

Aby zbadać ten problem, utwórz skrypt Windows PowerShell i użyj go przy użyciu przykładowego skryptu dostarczonego w kroku 1 w tej sekcji, a następnie dostosuj wyszukiwanie. Domyślnie można badać akcje wykonywane przez użytkowników niebędących właścicielami i administratorów. Ten skrypt eksportuje zawartość w uproszczonym pliku wartości rozdzielanych przecinkami (.csv), aby ułatwić rozwiązywanie problemów z raportami dotyczącymi brakujących elementów lub które zostały nieoczekiwanie zaktualizowane.

Ważna

Zachęcamy klientów do korzystania ze skryptu dostarczonego przez usługi online firmy Microsoft, aby pomóc w niektórych badaniach. Skrypty usług Microsoft Online Services są ogólne i powinny być użyteczne we wszystkich środowiskach klientów. Jeśli podczas uruchamiania skryptu wystąpią błędy, zawartość skryptu powinna być używana jako przykład do utworzenia dostosowanego skryptu dla określonego środowiska klienta. Usługi Microsoft Online Services udostępniają skrypt jako wygodę klientom platformy Microsoft 365 bez gwarancji, wyrażonej lub dorozumianej.

Krok 1. Uruchamianie skryptu

Aby uruchomić skrypt, wykonaj następujące kroki:

  1. Uruchom Notatnik, a następnie skopiuj następujący kod do pliku. Kod używa search-mailboxAuditLog polecenia, które jest częścią Microsoft Exchange Server.

     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. W menu Plik kliknij polecenie Zapisz jako.

  3. W polu Zapisz jako typ kliknij pozycję Wszystkie pliki.

  4. W polu Nazwa pliku wpisz Run-MailboxAuditLogSearcher.ps1, a następnie kliknij przycisk Zapisz.

  5. Uruchom Windows PowerShell, a następnie połącz się z zdalnym programem Windows PowerShell.

  6. Znajdź katalog, w którym zapisano skrypt, a następnie uruchom skrypt.

    .\Run-MailboxAuditLogSearcher.ps1
    

    Uwaga

    • Jeśli uruchomisz skrypt bez parametrów, zostanie wyświetlony monit o podanie następujących parametrów domyślnych:
      • Skrzynki pocztowej
      • Startdate
      • Enddate
    • Aby wyszukać wpisy z bieżącego dnia, dodaj jeden dzień do wartości daty zakończenia w oknie monitu. Jeśli na przykład bieżąca data to 14.03.2017 i chcesz uwzględnić bieżący dzień w wyszukiwaniu, wprowadź datę zakończenia 15.03.2017 .

W usłudze Microsoft 365 wpisy rejestrowania inspekcji skrzynki pocztowej są przechowywane w skrzynce pocztowej przez 90 dni. Zostanie wyświetlony monit o wskazanie daty rozpoczęcia i daty zakończenia wyszukiwania. Możesz użyć kilku opcjonalnych parametrów, aby dostosować wyszukiwanie. Opis tych parametrów można znaleźć w sekcji "Więcej informacji".

Jeśli elementy zostaną znalezione po uruchomieniu skryptu, zostanie wyświetlony komunikat podobny do następującego:

Zrzut ekranu przedstawiający komunikat po uruchomieniu skryptu.

Ten przykładowy komunikat wskazuje, że proces wyszukiwania znalazł 11 wpisów. Domyślnie wpisy FolderBind są odfiltrowywane, a następujące typy operacji pozostają:

  • Kopii
  • Tworzenie
  • HardDelete
  • MessageBind
  • Przenieść
  • MoveToDeletedItems
  • SendAs
  • SendOnBehalf
  • SoftDelete
  • Aktualizacja

Uwaga

Operacja FolderBind wskazuje czas, w którym skrzynka pocztowa jest uzyskiwana przez użytkownika nie będącego właścicielem. Jest to najczęściej wykonywana operacja. Nie trzeba wyświetlać operacji FolderBind podczas badania elementu, który został zaktualizowany lub usunięty.

Przejrzyj dane wyjściowe pliku .csv. Eksportowane są najbardziej przydatne kolumny, a niektóre z tych kolumn są scalane, aby ułatwić przeglądanie danych wyjściowych. Aby uzyskać więcej informacji na temat eksportowanych kolumn, zobacz sekcję "Więcej informacji".

Rejestrowanie inspekcji skrzynki pocztowej właściciela

Domyślnie. rejestrowanie inspekcji właściciela nie jest włączone. Powinna być używana tylko wtedy, gdy konieczne jest zbadanie akcji przez właściciela skrzynki pocztowej. Powinien być używany przez ograniczony okres, około dwóch tygodni. Dzieje się tak, ponieważ wpisy dziennika inspekcji są przechowywane w skrzynce pocztowej, co może spowodować przekroczenie limitu rozmiaru przez śmietnik skrzynki pocztowej.

Aby włączyć rejestrowanie inspekcji właściciela, wykonaj następujące kroki:

  1. Określ, czy rejestrowanie inspekcji skrzynki pocztowej jest włączone. W tym celu uruchom następujące polecenie cmdlet:

    Get-Mailbox <useridentity> | ft AuditEnabled
    
  2. Jeśli wynik to True, pomiń ten krok. Jeśli wynik to False, uruchom następujące polecenie cmdlet w Windows PowerShell:

    Set-Mailbox <useridentity> -AuditEnabled $true
    
  3. Włącz rejestrowanie inspekcji właściciela. W tym celu uruchom następujące polecenie cmdlet:

    Set-Mailbox <useridentity> -AuditOwner "Create,HardDelete,Move,MoveToDeletedItems,SoftDelete,Update"
    
  4. Uruchom ponownie Run-MailboxAuditLogSearcher.ps1i przejrzyj dane.

  5. Po zakończeniu rozwiązywania problemów wyłącz rejestrowanie inspekcji właściciela. W tym celu uruchom następujące polecenie cmdlet:

    Set-Mailbox <useridentity> -AuditOwner $none
    

Więcej informacji

Opcjonalne parametry skryptu

Na poniższej liście opisano opcjonalne parametry, które generują różne wyniki, gdy są używane razem ze skryptem Run-MailboxAuditLogSearcher :

  • IncludeFolderBind: w przypadku korzystania z tego przełącznika operacja FolderBind nie jest filtrowana z danych wyjściowych. Informacje FolderBind umożliwiają zbadanie problemu z dostępem do skrzynki pocztowej.

    Na przykład następujące polecenie cmdlet wyszukuje skrzynkę pocztową "Test User 1" i obejmuje wszystkie operacje:

    .\Run-MailboxAuditLogSearcher.ps1 -IncludeFolderBind -Mailbox "<Test User 1gt;" -StartDate "<04/10/17gt;" -EndDate "<04/27/17gt;&quot
    
  • Temat: Jeśli używasz tego przełącznika, możesz określić temat elementu, aby ograniczyć wyszukiwanie operacji wykonywanych na tym elemencie.

    Na przykład następujące polecenie cmdlet filtruje wszystkie dane wyjściowe z wyjątkiem elementów, które mają temat ustawiony jako "Dobra wiadomość":

    .\Run-MailboxAuditLogSearcher.ps1 -Subject "<Good News>" -Mailbox "<test1@contoso.comgt;" -StartDate "<04/10/17gt;" -EndDate "<04/27/17gt;&quot
    
  • ReturnObject: w przypadku korzystania z tego przełącznika wynik jest wyświetlany na ekranie, ale nie jest eksportowany do pliku .csv.

    Na przykład następujące polecenie cmdlet wyświetla dane wyjściowe na ekranie:

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

Wyeksportowane kolumny z pliku .csv

Eksportowane są najbardziej przydatne kolumny pliku .csv. Niektóre z tych kolumn są scalane, aby ułatwić przeglądanie danych wyjściowych. W poniższej tabeli wymieniono kolumny, które są eksportowane.

Kolumna Opis
Temat Temat elementu
Operacja Akcje wykonywane na elemencie
LogonUserDisplayName Nazwa wyświetlana zalogowanego użytkownika o
LastAccessed Czas wykonania operacji
DestFolderPathName Folder docelowy operacji przenoszenia
FolderPathName Ścieżka folderu
ClientInfoString Szczegóły dotyczące klienta, który wykonuje operację
LastAccessed Adres IP komputera klienckiego
ClientMachineName Nazwa komputera klienckiego
ClientProcessName Nazwa procesu aplikacji klienckiej
ClientVersion Wersja aplikacji klienckiej
LogonType Typ logowania użytkownika, który wykonuje operację
Typy logowania do notatek , obejmuje następujące elementy:
— Delegat dla osób niebędących właścicielami
— Administrator
— Właściciel skrzynki pocztowej (domyślnie nie jest rejestrowany)
MailboxResolvedOwnerName Rozpoznana nazwa użytkownika
skrzynki pocztowejUwaga Nazwa rozwiązana jest w następującym formacie:
Domain\SamAccountName
Operationresult Stan operacji
Notatek Wyniki operacji obejmują następujące elementy:
— Niepowodzenie
— CzęściowoSucceeded
— Powodzenie
CrossMailboxOperation Informacje o tym, czy zarejestrowana operacja jest operacją między skrzynkami pocztowymi (na przykład kopiowanie lub przenoszenie wiadomości między skrzynkami pocztowymi)

Więcej informacji na temat rejestrowania inspekcji skrzynki pocztowej

  • Polecenie cmdlet Search-MailboxAuditLog jest używane w przykładowym skryptzie w kroku 1 do synchronicznego przeszukiwania pojedynczej skrzynki pocztowej. Można to również zrobić, uruchamiając polecenie cmdlet w zdalnym programie Windows PowerShell.

    Aby uzyskać więcej informacji na temat polecenia cmdlet, przejdź do następującego artykułu TechNet:

    Search-MailboxAuditLog

  • Można przeszukiwać asynchronicznie co najmniej jedną skrzynkę pocztową. W tym celu uruchom następujące polecenie cmdlet w zdalnym programie Windows PowerShell:

    New-MailboxAuditLogSearch
    

    Aby uzyskać więcej informacji na temat tego polecenia cmdlet, przejdź do następującego artykułu TechNet:

    New-MailboxAuditLogSearch

    Aby uzyskać więcej informacji na temat domyślnych wpisów rejestrowania inspekcji skrzynki pocztowej, przejdź do sekcji "Wpisy dziennika inspekcji skrzynki pocztowej" w następującym artykule TechNet:

    Rejestrowanie inspekcji skrzynki pocztowej w programie Exchange 2016