Jak używać dzienników inspekcji skrzynki pocztowej w usłudze Office 365

Uwaga

Nazwa usługi Office 365 ProPlus została zmieniona na Aplikacje usługi Microsoft 365 dla przedsiębiorstw. Aby uzyskać więcej informacji na temat tej zmiany, przeczytaj ten wpis w blogu.

Oryginalny numer KB:   4021960

Podsumowanie

W usłudze Microsoft Office 365 można uruchamiać dzienniki inspekcji skrzynki pocztowej w celu określenia, kiedy skrzynka pocztowa została nieoczekiwanie zaktualizowana lub czy w skrzynce pocztowej brakuje elementów. Może to być trzeba zrobić na przykład w przypadku elementów przeniesionych lub nieoczekiwanego lub niepoprawnego usunięcia.

W środowisku vNext 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 sprawdzać dzienniki inspekcji skrzynki pocztowej

Rejestrowanie inspekcji skrzynki pocztowej umożliwia użytkownikom uzyskiwanie informacji o akcjach wykonywanych przez osoby, które nie są właścicielami i administratorami. Rejestrowanie inspekcji skrzynki pocztowej jest dostępne dla członków grupy samoobsługowej skrzynki pocztowej raportowania inspekcji tylko za pomocą programu Windows Remote PowerShell.

Uwaga

  • Domyślnie jest włączone tylko rejestrowanie inspekcji skrzynki pocztowej bez właściciela, a rejestrowanie inspekcji skrzynki pocztowej właściciela jest wyłączone. Jeśli musisz wykonać rejestrowanie inspekcji skrzynki pocztowej właściciela w celu zbadania konkretnego problemu, możesz tymczasowo włączyć ten proces na okres dwóch tygodni.
  • Niektóre organizacje mogą nie umożliwiać korzystania z rejestrowania inspekcji skrzynki pocztowej, przez co ta funkcja została wyłączona.

Aby zbadać ten problem, utwórz skrypt programu Windows PowerShell i użyj go, używając przykładowego skryptu podanego w kroku 1 w tej sekcji, a następnie dostosuj wyszukiwanie. Domyślnie możesz badać akcje wykonywane przez osoby, które nie są właścicielami i administratorami. Ten skrypt eksportuje zawartość w uproszczonym pliku wartości rozdzielanych przecinkami (csv), co ułatwia rozwiązywanie problemów z raportami o brakujących elementach lub nieoczekiwanie zaktualizowanych elementach.

Ważne

Zachęcamy klientów do używania skryptu dostarczonego przez usługi Microsoft Online Services w celu pomocy w określonych badaniach. Skrypty witryny Microsoft Online Services mają charakter ogólny i powinny być używane we wszystkich środowiskach klientów. Jeśli po uruchomieniu skryptu wystąpią błędy, jako przykładu należy użyć zawartości skryptu do utworzenia skryptu niestandardowego dla określonego środowiska klienta. Witryny Microsoft Online Services udostępnia skrypt dla klientów usługi Office 365 dla wygody bez gwarancji, wyrażonej lub dorozumianej.

Krok 1. Uruchamianie skryptu

Aby uruchomić skrypt, wykonaj następujące czynności:

  1. Uruchom Notatnik, a następnie skopiuj poniższy 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ę Cały plik.

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

  5. Uruchom program Windows PowerShell, a następnie połącz się ze zdalnym programem PowerShell dla systemu Windows.

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

    .\Run-MailboxAuditLogSearcher.ps1
    

    Uwaga

    • W przypadku uruchomienia skryptu bez parametrów zostanie wyświetlony monit o następujące parametry domyślne:
      • Skrzynka pocztowa
      • StartDate
      • EndDate
    • Aby wyszukać wpisy z bieżącego dnia, dodaj jeden dzień do wartości daty końcowej w oknie monitu. Jeśli na przykład bieżąca data to 2017-03-14, a chcesz uwzględnić w wyszukiwaniu bieżący dzień, jako datę końcową wprowadź datę 2017-04-15.

W usłudze Office 365 wpisy dziennika inspekcji skrzynki pocztowej są zachowywane w skrzynce pocztowej przez 90 dni. Zostanie wyświetlony monit o wskazanie daty rozpoczęcia i daty zakończenia wyszukiwania. Wyszukiwanie można dostosować za pomocą kilku parametrów opcjonalnych. Opis tych parametrów można znaleźć w sekcji "Więcej informacji".

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

Zrzut ekranu przedstawiający wiadomość po uruchomieniu skryptu

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

  • Kopiuj
  • Tworzenie
  • HardDelete
  • MessageBind
  • Przenieś
  • MoveToDeletedItems
  • SendAs
  • SendOnBehalf
  • SoftDelete
  • Aktualizacja

Uwaga

Operacja FolderBind wskazuje czasy, w których skrzynka pocztowa jest uzyskiwana przez osoby, które nie są jej właścicielami. Jest to najczęściej spotykana operacja. Nie musisz 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 w celu ułatwienia przeglądania wyników. Aby uzyskać więcej informacji o eksportowanych kolumnach, zobacz sekcję "Więcej informacji".

Rejestrowanie inspekcji skrzynki pocztowej właściciela

Domyślnie. rejestrowanie inspekcji właściciela nie jest włączone. Powinien on być używany tylko w przypadku, gdy musisz zbadać akcję przez właściciela skrzynki pocztowej. Należy go używać przez ograniczony okres, około dwóch tygodni. Jest to spowodowane tym, że wpisy dziennika inspekcji są przechowywane w skrzynce pocztowej i może to spowodować przekroczenie limitu rozmiaru skrzynki pocztowej przez ten magazyn.

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

  1. Określanie, 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 Prawda, pomiń ten krok. Jeśli wynik to False, uruchom następujące polecenie cmdlet w programie 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. Ponownie Run-MailboxAuditLogSearcher.ps1 i 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 parametry opcjonalne generujące różne wyniki, gdy są używane razem ze Run-MailboxAuditLogSearcher skryptem:

  • IncludeFolderBind: W przypadku użycia tego przełącznika operacja FolderBind nie jest filtrowana z danych wyjściowych. Informacje o funkcji FolderBind można wykorzystać do zbadania problemu z dostępem do skrzynki pocztowej.

    Na przykład następujące polecenie cmdlet przeszukuje skrzynkę pocztową "Testowanie użytkownika 1" i obejmuje wszystkie operacje:

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

    Na przykład następujące polecenie cmdlet odfiltrowuje wszystkie dane wyjściowe z wyjątkiem elementów, dla których temat ma ustawioną wartość "Dobra wiadomość":

    .\Run-MailboxAuditLogSearcher.ps1 -Subject "<Good News>" -Mailbox "<test1@contoso.comgt;" -StartDate "<04/10/17gt;" -EndDate "<04/27/17gt;&quot
    
  • ReturnObject: W przypadku użycia tego przełącznika wynik będzie wyświetlany na ekranie, ale nie zostanie wyeksportowany do pliku csv.

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

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

Wyeksportowano kolumny z pliku csv

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

Kolumna Opis
Temat Temat elementu
Operacja Akcje wykonywane na elementach
LogonUserDisplayName Nazwa wyświetlana użytkownika, który jest zalogowany
LastAccessed Godzina wykonania operacji
DestFolderPathName Folder docelowy operacji przenoszenia
FolderPathName Ścieżka folderu
ClientInfoString Szczegóły dotyczące klienta, który wykonuje operację
LastAccessed Adres IP klienta
ClientMachineName (Nazwa_klienta) Nazwa klienta
ClientProcessName (NazwaProcesu Klienta) Nazwa procesu aplikacji klienckiej
ClientVersion Wersja aplikacji klienckiej
LogonType (Typ logowania) Typ logowania użytkownika wykonującego operację
Uwaga Typy logowania są następujące:
— Pełnomocnik dla osób niebędących właścicielami
— Administrator
— Właściciel skrzynki pocztowej (domyślnie nie jest zalogowany)
MailboxResolvedOwnerName Rozpoznana nazwa użytkownika skrzynki pocztowej
Uwaga Rozpoznana nazwa jest w następującym formacie:
Domain\SamAccountName
OperationResult Stan operacji
Uwaga Wyniki operacji są następujące:
— Niepowodzenie
— Częściowo zdatytowany
- Udało się
CrossMailboxOperation Informacje o tym, czy zarejestrowana operacja jest operacją między skrzynkami pocztowymi (na przykład kopiowaniem lub przenoszeniem 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 skrypcie w kroku 1 w celu synchronicznego przeszukiwania pojedynczej skrzynki pocztowej. Możesz to również zrobić, uruchamiając polecenie cmdlet w zdalnym programie PowerShell dla systemu Windows.

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

    Search-MailboxAuditLog

  • Skrzynki pocztowe można przeszukiwać asynchronicznie. W tym celu uruchom następujące polecenie cmdlet w zdalnym programie PowerShell dla systemu Windows:

    New-MailboxAuditLogSearch
    

    Aby uzyskać więcej informacji na temat tego polecenia cmdlet, przejdź do następującego artykułu w witrynie 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 w witrynie TechNet:

    Rejestrowanie inspekcji skrzynki pocztowej w programie Exchange 2016