Använda granskningsloggar för postlådor i Microsoft 365

Ursprungligt KB-nummer: 4021960

Sammanfattning

I Microsoft 365 kan du köra granskningsloggar för postlådor för att avgöra när en postlåda har uppdaterats oväntat eller om objekt saknas i en postlåda. Du kan behöva göra detta, till exempel om objekt flyttas eller om de tas bort oväntat eller felaktigt.

Observera att granskningsloggar för postlådor inte är aktiverade som standard för vNext-miljön och att de måste aktiveras för en användare innan du påbörjar en sökning.

Så här kör och kontrollerar du granskningsloggar för postlådor

Med granskningsloggning för postlådor kan användarna få information om åtgärder som utförs av icke-ägare och administratörer. Granskningsloggning för postlådor är endast tillgänglig för medlemmar i självbetjäningsgruppen Granskningsrapporteringspostlåda med hjälp av Windows Remote PowerShell.

Obs!

  • Som standard är endast granskningsloggning för icke-ägare aktiverad och granskningsloggning för ägarpostlådor är inaktiverad. Om du måste utföra granskningsloggning för ägarpostlådan för att undersöka ett specifikt problem kan du tillfälligt aktivera processen under en tvåveckorsperiod.
  • Vissa organisationer kanske inte gör det möjligt för dig att använda granskningsloggning för postlådor och har därför inaktiverat funktionen.

Om du vill undersöka det här problemet skapar och använder du ett Windows PowerShell skript med hjälp av exempelskriptet som finns i steg 1 i det här avsnittet och anpassar sedan en sökning. Som standard kan du undersöka åtgärder som utförs av icke-ägare och administratörer. Det här skriptet exporterar innehåll i en förenklad fil med kommaavgränsade värden (.csv) som hjälper dig att felsöka rapporter om objekt som saknas eller som har uppdaterats oväntat.

Viktigt

Kunder uppmuntras att använda skriptet som tillhandahålls av Microsoft Online Services för att hjälpa till i vissa undersökningar. Microsoft Online Services-skript är generiska och bör kunna användas i alla kundmiljöer. Om fel uppstår när ett skript körs ska innehållet i skriptet användas som ett exempel för att skapa ett anpassat skript för en viss kundmiljö. Microsoft Online Services tillhandahåller skriptet som en bekvämlighet för Microsoft 365-kunder utan garanti, uttryckt eller underförstådd.

Steg 1: Kör skriptet

Följ dessa steg för att köra skriptet:

  1. Starta Anteckningar och kopiera sedan följande kod till filen. Koden använder search-mailboxAuditLog kommandot som ingår i 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. Klicka på Spara somArkiv-menyn.

  3. I rutan Spara som-typ klickar du på Alla filer.

  4. I rutan Filnamn skriver duRun-MailboxAuditLogSearcher.ps1och klickar sedan på Spara.

  5. Starta Windows PowerShell och anslut sedan till Windows Remote PowerShell.

  6. Leta upp katalogen där du sparade skriptet och kör sedan skriptet.

    .\Run-MailboxAuditLogSearcher.ps1
    

    Obs!

    • Om du kör skriptet utan parametrar uppmanas du att ange följande standardparametrar:
      • Postlåda
      • Startdate
      • EndDate
    • Om du vill söka efter poster från den aktuella dagen lägger du till en dag i slutdatumvärdet i promptfönstret. Om det aktuella datumet till exempel är 2017-03-14 och du vill inkludera den aktuella dagen i sökningen anger du 2017-03-15 som slutdatum.

I Microsoft 365 behålls granskningsloggningsposter för postlådor i postlådan i 90 dagar. Du uppmanas att ange ett startdatum och slutdatum för sökningen. Du kan använda flera valfria parametrar för att anpassa sökningen. En beskrivning av dessa parametrar finns i avsnittet Mer information.

Om objekt hittas efter att skriptet har körts får du ett meddelande som liknar följande:

Skärmbild av meddelandet när skriptet har körts.

Det här exempelmeddelandet anger att sökprocessen har hittat 11 poster. Som standard filtreras mappbindningsposterna bort och följande åtgärdstyper finns kvar:

  • Kopiera
  • Create
  • HardDelete
  • MessageBind
  • Move
  • MoveToDeletedItems
  • SendAs
  • SendOnBehalf
  • SoftDelete
  • Update

Obs!

Åtgärden FolderBind anger de tider då postlådan används av en icke-ägare. Det här är den vanligaste åtgärden. Du behöver inte visa åtgärderna FolderBind när du undersöker ett objekt som har uppdaterats eller tagits bort.

Granska utdata från .csv-filen. De mest användbara kolumnerna exporteras och vissa av dessa kolumner sammanfogas för att göra utdata enklare att granska. Mer information om de kolumner som exporteras finns i avsnittet Mer information.

Granskningsloggning för ägarpostlåda

Som standard. granskningsloggning för ägare är inte aktiverat. Den bör endast användas om du behöver undersöka en åtgärd av postlådans ägare. Det bör användas under en begränsad tidsperiod, cirka två veckor. Det beror på att granskningsloggposterna lagras i postlådan, vilket kan göra att postlådecontainern överskrider storleksgränsen.

Så här aktiverar du granskningsloggning för ägare:

  1. Kontrollera om granskningsloggning för postlådor är aktiverad. Gör detta genom att köra följande cmdlet:

    Get-Mailbox <useridentity> | ft AuditEnabled
    
  2. Om resultatet är Sant hoppar du över det här steget. Om resultatet är Falskt kör du följande cmdlet i Windows PowerShell:

    Set-Mailbox <useridentity> -AuditEnabled $true
    
  3. Aktivera granskningsloggning för ägare. Gör detta genom att köra följande cmdlet:

    Set-Mailbox <useridentity> -AuditOwner "Create,HardDelete,Move,MoveToDeletedItems,SoftDelete,Update"
    
  4. Kör Run-MailboxAuditLogSearcher.ps1igen och granska data.

  5. När felsökningen är klar inaktiverar du granskningsloggning för ägare. Gör detta genom att köra följande cmdlet:

    Set-Mailbox <useridentity> -AuditOwner $none
    

Mer information

Valfria skriptparametrar

I följande lista beskrivs valfria parametrar som genererar olika resultat när de används tillsammans med skriptet Run-MailboxAuditLogSearcher :

  • IncludeFolderBind: När du använder den här växeln filtreras inte åtgärden FolderBind från utdata. Du kan använda mappbindningsinformation för att undersöka problem med postlådan.

    Följande cmdlet söker till exempel i postlådan "Testanvändare 1" och innehåller alla åtgärder:

    .\Run-MailboxAuditLogSearcher.ps1 -IncludeFolderBind -Mailbox "<Test User 1gt;" -StartDate "<04/10/17gt;" -EndDate "<04/27/17gt;&quot
    
  • Ämne: När du använder den här växeln kan du ange ämnet för ett objekt för att begränsa sökningen efter åtgärder som utförs på objektet.

    Följande cmdlet filtrerar till exempel bort alla utdata utom objekt som har ämnet inställt som "Goda nyheter":

    .\Run-MailboxAuditLogSearcher.ps1 -Subject "<Good News>" -Mailbox "<test1@contoso.comgt;" -StartDate "<04/10/17gt;" -EndDate "<04/27/17gt;&quot
    
  • ReturnObject: När du använder den här växeln visas resultatet på skärmen, men det exporteras inte till en .csv fil.

    Följande cmdlet visar till exempel utdata på skärmen:

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

Exporterade kolumner från .csv-filen

De mest användbara kolumnerna i .csv-filen exporteras. Vissa av dessa kolumner sammanfogas för att göra utdata enklare att granska. I följande tabell visas de kolumner som exporteras.

Kolumn Beskrivning
Ämne Ämne för objekt
Åtgärd Åtgärder som utförs på objektet
LogonUserDisplayName Visningsnamn för användare som är inloggad o
LastAccessed Tidpunkt då åtgärden utfördes
DestFolderPathName Målmapp för flyttåtgärden
FolderPathName Sökväg till mapp
ClientInfoString Information om klienten som utför åtgärden
LastAccessed IP-adress för klientdatorn
ClientMachineName Namnet på klientdatorn
ClientProcessName Namnet på klientprogramprocessen
ClientVersion Version av klientprogrammet
LogonType Inloggningstypen för den användare som utför åtgärden
Anteckningsinloggningstyper innehåller följande:
– Ombud för icke-ägare
– Administratör
– Postlådeägare (loggas inte som standard)
MailboxResolvedOwnerName Det lösta namnet på postlådeanvändaren
Note Resolved name is in the following format:
Domain\SamAccountName
OperationResult Status för åtgärden
Noteringsåtgärdens resultat omfattar följande:
- Failed
- PartiallySucceeded
- Succeeded
CrossMailboxOperation Information om huruvida åtgärden som loggas är en åtgärd mellan postlådor (till exempel kopiera eller flytta meddelanden mellan postlådor)

Mer information om granskningsloggning för postlådor

  • Cmdleten Search-MailboxAuditLog används i exempelskriptet i steg 1 för att söka i en enskild postlåda synkront. Du kan också göra detta genom att köra cmdleten i Windows Remote PowerShell.

    Mer information om cmdleten finns i följande TechNet-artikel:

    Search-MailboxAuditLog

  • Du kan söka i en eller flera postlådor asynkront. Det gör du genom att köra följande cmdlet i Windows Remote PowerShell:

    New-MailboxAuditLogSearch
    

    Mer information om den här cmdleten finns i följande TechNet-artikel:

    New-MailboxAuditLogSearch

    Mer information om standardposterna för granskningsloggning för postlådor finns i avsnittet Postlådegranskningsloggposter i följande TechNet-artikel:

    Granskningsloggning för postlådor i Exchange 2016