Så här använder du granskningsloggar för postlådor i Office 365

Anteckning

Office 365 ProPlus byter namn till Microsoft 365-appar för företag. Mer information om den här ändringen finns i det här blogginlägget.

Ursprungligt KB-nummer:   4021960

Sammanfattning

I Microsoft Office 365 kan du köra granskningsloggar för postlådor för att avgöra när en postlåda uppdaterades 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 måste aktiveras för en användare innan du börjar en sökning.

Köra och kontrollera granskningsloggar för postlådor

Med granskningsloggning för postlådor får användarna 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 för granskningsrapporteringspostlåda med Windows Remote PowerShell.

Anteckning

  • Som standard är endast granskningsloggning för postlådor som inte är ägare aktiverad och granskningsloggning för ägarpostlådor inaktiveras. Om du måste utföra granskningsloggning för ägarpostlådor för att undersöka ett specifikt problem kan du tillfälligt aktivera processen under en tvåveckorsperiod.
  • Vissa organisationer kanske inte tillåter granskningsloggning för postlådor och har därför inaktiverat funktionen.

Undersök problemet genom att skapa och använda ett Windows PowerShell-skript med hjälp av exempelskriptet som finns i steg 1 i det här avsnittet och sedan anpassa 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

Kunderna uppmanas att använda skriptet som tillhandahålls av Microsoft Online Services för att underlätta i vissa undersökningar. Microsoft Online Services-skript är allmänna och bör användas i alla kundmiljöer. Om fel uppstår när ett skript körs bör 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 Office 365-kunder utan garantier, uttryckta eller underförstådda.

Steg 1: Kör skriptet

Följ de här anvisningarna om du vill köra skriptet:

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

  3. Klicka på Alla filer i rutan Filformat.

  4. I rutan Filnamn skriver du ett Run-MailboxAuditLogSearcher.ps1 och klickar sedan på Spara.

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

  6. Leta reda på katalogen där du sparade skriptet och kör sedan skriptet.

    .\Run-MailboxAuditLogSearcher.ps1
    

    Anteckning

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

I Office 365 behålls granskningsloggningsposterna 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 körs får du ett meddelande som ser ut ungefär så här:

En 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
  • Skapa
  • HardDelete
  • MessageBind
  • Flytta
  • MoveToDeletedItems
  • SendAs
  • SendOnBehalf
  • SoftDelete
  • Uppdatera

Anteckning

I åtgärden FolderBind anges vid vilka tidpunkter postlådan används av en annan användare än ägaren. Det här är den vanligaste åtgärden. Du behöver inte visa mappbindningsåtgärder när du undersöker ett objekt som uppdateras eller tas bort.

Granska utdata för CSV-filen. De mest användbara kolumnerna exporteras och några av dessa kolumner sammanfogas så att resultatet blir lättare att granska. Mer information om de kolumner som exporteras finns i avsnittet "Mer information".

Granskningsloggning för ägarpostlådor

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. Den bör användas under en begränsad tidsperiod, ungefär två veckor. Det beror på att granskningsloggposterna lagras i postlådan och det kan leda till att postlådedumpt överskrider storleksgränsen.

Gör så här för att aktivera granskningsloggning för ägare:

  1. Avgöra om granskningsloggning för postlådor är aktiverat. Det gör du genom att köra följande cmdlet:

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

    Set-Mailbox <useridentity> -AuditEnabled $true
    
  3. Aktivera granskningsloggning för ägaren. Det gör du genom att köra följande cmdlet:

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

  5. När felsökningen är slutförd inaktiverar du granskningsloggning för ägaren. Det gör du 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 Run-MailboxAuditLogSearcher skriptet:

  • IncludeFolderBind: När du använder den här växeln filtreras inte mappbindningen från utdata. Du kan använda Mappbindningsinformation för att undersöka problem med åtkomst till postlådor.

    Följande cmdlet söker till exempel i postlådan "Testa användare 1" och omfattar 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 för objektet.

    Följande cmdlet filtrerar till exempel ut alla utdata utom objekt som har ämnesuppsättningen "Goda nyheter":

    .\Run-MailboxAuditLogSearcher.ps1 -Subject "<Good News>" -Mailbox "<test1@contoso.comgt;" -StartDate "<04/10/17gt;" -EndDate "<04/27/17gt;&quot
    
  • ReturObjekt: 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 resultatet på skärmen:

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

Kolumner som exporterats från CSV-filen

De mest användbara kolumnerna i CSV-filen exporteras. Några av kolumnerna slås samman för att göra resultatet lättare att granska. I följande tabell visas de kolumner som exporteras.

Kolumn Beskrivning
Ämne Objektets ämne
Åtgärd Åtgärder som utförs för objekt
LogonUserDisplayName Visningsnamn för användare som är inloggad
LastAccessed Tidpunkten 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 Namn på klientprogramprocessen
ClientVersion Version av klientprogrammet
LogonType Inloggningstyp för den användare som utför åtgärden
Obs! Inloggningstyper omfattar följande:
- Ombud för icke-ägare
- Administratör
- Postlådans ägare (ej inloggad som standard)
MailboxResolvedOwnerName Matchat namn på postlådeanvändare
Obs! Namn som matchas har följande format:
Domän\SamAccountName
OperationResult Status för åtgärden
Obs! Åtgärdsresultat omfattar följande:
- Misslyckades
- PartiallySucceededed
- Lyckades
CrossMailboxOperation Information om huruvida åtgärden som loggas är en korspostlådeåtgärd (till exempel att kopiera eller flytta meddelanden mellan postlådor)

Mer information om granskningsloggning för postlådor

  • Cmdlet:en Search-MailboxAuditLog används i exempelskriptet i steg 1 för att söka i en enda postlåda synkroniserat. Det kan du också göra 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 granskningsloggningsposterna för standardpostlådor finns i avsnittet Granskningsloggposter för postlådor i följande TechNet-artikel:

    Granskningsloggning för postlådor i Exchange 2016