Поиск писем и сообщений в почтовых ящиках в Exchange 2010/2013/2016

Поиск и\или удаление писем и сообщений в почтовых ящиках в Exchange 2010/2013/2016

Поскольку все сообщения пользователей Exchange хранятся в базе данных, мы можем производить по ним поиск и, при необходимости, удалять. Это может потребоваться в разных ситуациях, например - когда сотрудник отправил письмо с конфиденциальной информацией "не туда" или просто надо найти и просмотреть сообщение... вариантов может быть масса.

Что в данном вопросе предлагает нам Exchange 2010/2013/2016? Мы можем произвести поиск по почтовым ящикам (всем или каким-то конкретным) в базе данных и скопировать результаты поиска в какой-то другой ящик. При необходимости, можно удалить найденные сообщения из исходных ящиков.

Посмотрим, как это можно проделать.

Во-первых, если у вас в Exchange-организации участвует несколько сайтов Active Directory, включаем просмотр всего леса:

Set-ADServerSettings -ViewEntireForest $true

Во-вторых, проверьте, что у учетной записи, под которой вы будете работать, назначены роли Mailbox Import Export и Mailbox Search. Назначить роли (конкретно эти) можно, добавив свою учетную запись в группу Discovery Management.

Теперь можем приступать к поиску.

get-mailbox user\@domain.com | Search-Mailbox -LogLevel full -TargetFolder SearchAndDeleteLog -TargetMailbox admin\@domain.com -LogOnly -SearchQuery {Subject="Фото для Lync"}

Ключ LogOnly указывает, что происходит только оценка результатов, но найденные сообщения НЕ копируются в ящик, указанный в TargetMailbox. Чтобы скопировать результаты поиска, этот ключ надо убрать.

Есть несколько нюансов, которые вы должны помнить.

Первый заключается в том, что при поиске сообщений с определенной темой, кроме писем конкретно с такой темой, в результатах вы получите еще и сообщения, в которых тема вот например такая: "RE: Фото для Lync" и "FW: Фото для Lync". Для того, чтобы исключить такие ненужные сообщения, необходимо уточнять запрос другими условиями, например, датой отправки\получения и\или отправителем\получателем.

Запросы для параметра SearchQuery пишутся на языке KQL (Keyword Query Language), подробнее о нем можно почитать тут: https://msdn.microsoft.com/en-us/library/ee558911(v=office.15).aspx.

Второй нюанс - в том, что когда вы будете писать уточнения в поиске, используя даты, надо учитывать региональные настройки сервера. Например, дата 14 октября 2016 года в разных региональных настройках может быть записана двумя способами:

  • 14/10/2016
  • 10/14/2016

Но еще можно попробовать вот так: "14-Oct-2016", что по-моему проше всего.

Вот примеры запросов KQL для Exchange:

  • Received:> $('07/18/2014') and From:Этот адрес электронной почты защищён от спам-ботов. У вас должен быть включен JavaScript для просмотра.
  • Received:> $('11/30/2014') and From:Этот адрес электронной почты защищён от спам-ботов. У вас должен быть включен JavaScript для просмотра. and Subject:'EMAIL UPGRADE'
  • Subject:"Searching" AND From:"Этот адрес электронной почты защищён от спам-ботов. У вас должен быть включен JavaScript для просмотра." AND Sent:"6/5/2015"

Удаление результатов поиска

Чтобы удалить из ящиков найденные сообщения, добавляем ключ DeleteContent. Например: 

get-mailbox user\@domain.com | Search-Mailbox -LogLevel full -TargetFolder SearchAndDeleteLog -TargetMailbox admin\@domain.com -SearchQuery {Subject="Фото для Lync"} -DeleteContent

 

Метки: exchange (ru), exchange 2013 (ru), exchange 2010 (ru)

ПечатьE-mail

Добавить комментарий


Защитный код
Обновить