Поделиться через


Использование журналов аудита почтовых ящиков в Microsoft 365

В Microsoft 365 можно запускать журналы аудита почтовых ящиков, чтобы определить, когда почтовый ящик был неожиданно обновлен или отсутствует ли элемент из почтового ящика. Например, это может потребоваться сделать, если элементы перемещаются или удаляются неожиданно или неправильно.

Примечание. Для среды vNext по умолчанию журналы аудита почтовых ящиков не включены. Чтобы пользователь начал поиск, необходимо включить функцию.

Запуск и проверка журналов аудита почтовых ящиков

Ведение журнала аудита почтовых ящиков позволяет пользователям получать сведения о действиях, выполняемых не владельцами и администраторами. Ведение журнала аудита почтовых ящиков доступно для членов группы самообслуживания почтовых ящиков аудита только с помощью Windows Remote PowerShell.

Примечание.

  • По умолчанию включен только ведение журнала аудита, не являющегося владельцем почтового ящика, и ведение журнала аудита почтового ящика владельца отключено. Если вам нужно выполнить ведение журнала аудита почтового ящика владельца для изучения конкретной проблемы, можно временно включить процесс в течение двух недель.
  • Некоторые организации могут не разрешать использовать ведение журнала аудита почтовых ящиков. В этом случае функция будет отключена.

Чтобы изучить эту проблему, создайте и используйте скрипт Windows PowerShell с помощью примера скрипта, предоставленного на шаге 1 в этом разделе, а затем настройте поиск. По умолчанию можно исследовать действия, выполняемые не владельцами и администраторами. Этот скрипт экспортирует содержимое в упрощенный файл с разделительной запятыми (.csv) для устранения неполадок с отчетами о отсутствующих элементах или которые были неожиданно обновлены.

Внимание

Клиентам рекомендуется использовать этот пример скрипта. Сценарий предоставляется Службами Microsoft Online Services, чтобы помочь в определенных расследованиях. Сценарии Microsoft Online Services являются универсальными, и они должны быть доступны во всех клиентских средах. Если при запуске скрипта возникают ошибки, содержимое скрипта должно использоваться в качестве примера для создания настраиваемого скрипта для определенной клиентской среды. Microsoft Online Services предоставляет скрипт в качестве удобства для клиентов Microsoft 365 без гарантии, выраженных или подразумеваемых.

Шаг 1. Запуск скрипта

Чтобы запустить скрипт, выполните следующее.

  1. Откройте текстовый редактор, например Блокнот, и скопируйте следующий код в файл. В коде используется search-mailboxAuditLog команда, которая входит в состав 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. В меню Файл выберите команду Сохранить как.

  3. В поле "Сохранить как тип" выберите "Все файлы".

  4. В поле "Имя файла" введите Run-MailboxAuditLogSearcher.ps1 и нажмите кнопку "Сохранить".

  5. Откройте Windows PowerShell и подключитесь к Windows Remote PowerShell.

  6. Найдите папку, в которой вы сохранили скрипт, а затем запустите сценарий:

    .\Run-MailboxAuditLogSearcher.ps1
    

    Примечание.

    • Если вы запускаете скрипт без параметров, вам будет предложено указать следующие параметры по умолчанию:
      • Mailbox
      • StartDate
      • EndDate
    • Чтобы найти записи из текущего дня, добавьте один день в значение даты окончания в окне запроса. Например, если текущая дата — 3.14.2017, и вы хотите включить текущий день в поиск, введите дату окончания 3.15.2017 .

В Microsoft 365 записи журнала аудита почтовых ящиков хранятся в почтовом ящике в течение 90 дней. Вам будет предложено указать дату начала и дату окончания поиска. Для настройки поиска можно использовать несколько необязательных параметров. Описание этих параметров см. в разделе "Дополнительные сведения".

Если элементы находятся после выполнения скрипта, вы получите сообщение, похожее на следующее сообщение:

Поиск журналов аудита почтовых ящиков...
11 Всего найденных записей
Удаление операций FolderBind.
Отфильтрованы до 1 записей

Публикация результатов в файл: AuditLogResults121024_142419.csv

Снимок экрана: сообщение после запуска скрипта.

В этом примере сообщения указывается, что процесс поиска нашел 11 записей. По умолчанию записи FolderBind отфильтровываются, а следующие типы операций остаются:

  • Копия
  • Создание
  • HardDelete
  • MessageBind
  • Передвинуть
  • MoveToDeletedItems
  • Отправки
  • SendOnBehalf
  • SoftDelete
  • Обновить

Примечание.

Операция FolderBind указывает время доступа к почтовому ящику, к которому обращается не владелец. Это наиболее распространенная операция. При изучении элемента, обновляемого или удаленного, не нужно просматривать операции FolderBind.

Просмотрите выходные данные файла .csv. Наиболее полезные столбцы экспортируются, а некоторые из этих столбцов объединяются, чтобы упростить проверку выходных данных. Дополнительные сведения о экспортируемых столбцах см. в разделе "Дополнительные сведения".

Ведение журнала аудита почтового ящика владельца

Ведение журнала аудита почтовых ящиков включается по умолчанию для всех организаций. Одним из основных преимуществ включения аудита почтовых ящиков по умолчанию является то, что вам не нужно управлять проверенными действиями почтового ящика. Корпорация Майкрософт управляет этими действиями для вас, и мы автоматически добавляем новые действия почтового ящика для аудита по умолчанию по мере их выпуска.

Однако организации может потребоваться выполнить аудит другого набора действий почтовых ящиков для почтовых ящиков пользователей и общих почтовых ящиков. Дополнительные сведения о том, как изменить действия почтового ящика, которые проверяются для каждого типа входа, и как вернуться к действиям по умолчанию, управляемым Корпорацией Майкрософт, см. в разделе "Изменение или восстановление действий почтового ящика", зарегистрированных по умолчанию.

Дополнительная информация

Необязательные параметры скрипта

В следующем списке описываются необязательные параметры, которые создают различные результаты при их использовании вместе со скриптом Run-MailboxAuditLogSearcher :

  • IncludeFolderBind: запрещает фильтрацию операции FolderBind из выходных данных. Сведения FolderBind можно использовать для изучения проблемы с доступом к почтовому ящику.

    Например, следующий командлет выполняет поиск почтового ящика Test User 1 и включает все операции:

    .\Run-MailboxAuditLogSearcher.ps1 -IncludeFolderBind -Mailbox "<Test User 1gt;" -StartDate "<04/10/17gt;" -EndDate "<04/27/17gt;&quot
    
  • Тема. Позволяет указать тему элемента, чтобы ограничить поиск операций, выполняемых на этом элементе.

    Например, следующий командлет фильтрует все выходные данные, кроме элементов, которые имеют тему, заданную как "Хорошие новости":

    .\Run-MailboxAuditLogSearcher.ps1 -Subject "<Good News>" -Mailbox "<test1@contoso.comgt;" -StartDate "<04/10/17gt;" -EndDate "<04/27/17gt;&quot
    
  • ReturnObject: приводит к отображению результатов на экране (но не экспортируется в файл .csv).

    Например, следующий командлет отображает выходные данные на экране:

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

Экспортированные столбцы из файла .csv

Экспортируются наиболее полезные столбцы файла .csv. Некоторые из этих столбцов объединяются, чтобы упростить проверку выходных данных. В следующей таблице перечислены столбцы, экспортируемые.

Столбец Description
Тема Тема элемента
Операция Действия, выполняемые для элемента
LogonUserDisplayName Отображаемое имя пользователя, вошедшего в систему
LastAccessed Время выполнения операции
DestFolderPathName Целевая папка для операции перемещения
FolderPathName Путь к папке
ClientInfoString Сведения о клиенте, выполняющего операцию
LastAccessed IP-адрес клиентского компьютера
ClientMachineName Имя клиентского компьютера
ClientProcessName Имя процесса клиентского приложения
ClientVersion Версия клиентского приложения
Вход в систему Тип входа пользователя, выполняющего операцию

"Примечание входа", включает в себя следующее:
делегат для невладельца — администратор
— владелец
почтового ящика (не зарегистрирован по умолчанию)
MailboxResolvedOwnerName Разрешенное имя почтового

ящика разрешенное имя почтового ящика имеет следующий формат:
Domain\SamAccountName
OperationResult Состояние результатов операции

"Заметка " включает следующее:
— сбой
— частично выполнено
— выполнено успешно.
CrossMailboxOperation Сведения о том, является ли операция, зарегистрированная в журнале, является операцией между почтовыми ящиками (например, копированием или перемещением сообщений между почтовыми ящиками)

Дополнительные сведения о ведении журнала аудита почтовых ящиков

  • Командлет Search-MailboxAuditLog используется в примере сценария на шаге 1 для поиска по одному почтовому ящику синхронно. Это также можно сделать, выполнив командлет в Windows Remote PowerShell.

    Дополнительные сведения о командлете см. в следующей статье TechNet:

    Search-MailboxAuditLog

  • Вы можете выполнять поиск по одному или нескольким почтовым ящикам асинхронно. Для этого выполните следующий командлет в Windows Remote PowerShell:

    New-MailboxAuditLogSearch
    

    Дополнительные сведения об этом командлете см. в следующей статье:

    New-MailboxAuditLogSearch

    Дополнительные сведения о записях журнала аудита почтовых ящиков по умолчанию см. в разделе "Записи журнала аудита почтовых ящиков" следующей статьи:

    Ведение журнала аудита почтовых ящиков в Exchange 2016