Exchange 2013. Удаление писем из почтовых ящиков

Удаление писем в Exchange 2013Удаление писем в Exchange 2013 бывает необходимо выполнить только из единственного почтового ящика, в случае отправки одному получателю, но встречаются и более сложные случаи, например, когда генеральный директор отправил конфиденциальные данные группе рассылки или, ещё хуже, целой компании. В последнем случае крайне нежелательно, чтобы вообще кто-то прочитал письмо и поэтому время идет даже не на минуты, а на секунды — надо как можно скорее удалить письмо вообще у всех сотрудников. Именно для такого сценария предназначена эта статья — чтобы под рукой всегда была подробная инструкция, в которой только и нужно что подставить свои данные в команду, выполнить её на вашем сервере и все будет готово и останется лишь ждать пока запрос будет обработан. Итак, начнем.


Найти больше информации по настройке и администрированию Exchange 2013 на моем блоге вы сможете в основной статье тематики — Exchange 2013 — Установка, настройка, администрирование.


Необходимые разрешения

Нет смысла что-то выдумывать, просто цитата из статьи «Поиск и удаление сообщений«:

Поиск в почтовых ящиках.   Эта роль позволяет искать сообщения в нескольких почтовых ящиках в пределах организации. Администраторы не имеют этой роли по умолчанию. Чтобы назначить себя этой роли для поиска в почтовых ящиках, добавьте себя в группу ролей «Управление обнаружением». См. раздел Назначение разрешений обнаружения электронных данных в Exchange.

Импорт и экспорт почтовых ящиков.   Эта роль позволяет удалять сообщения из почтового ящика пользователя. По умолчанию эта роль группе ролей не назначена. Для удаления сообщений из почтовых ящиков пользователей следует добавить роль «Импорт и экспорт почтовых ящиков» в группу ролей «Управление организацией». Дополнительные сведения см. в разделе Добавление роли в группу ролей.

Частично пример о назначении ролей можно посмотреть также в моей статье «Экспорт почтовых ящиков Exchange«.

Удаление письма из одного ящика

Отозвать сообщение пока оно ещё не прочитано можно прямо из outlook. Как это сделать для версий outlook 2010, 2007, 2003 можно прочитать в статье «ОТЗЫВ ОТПРАВЛЕННЫХ ПИСЕМ В OUTLOOK 2010, 2007, 2003«, либо на официальном сайте MS Office в учебных курсах «Учебные курсы по Outlook 2013«, урок «Отзыв и замена отправленных сообщений«. Нас будет интересовать более сложный случай, когда сообщение уже помечено прочтенным.

Для этого выполним команду powershell, нам необходимо название почтового ящика, а также тема сообщения:

[PS] C:\Windows\system32>Search-Mailbox -Identity «egor01» -SearchQuery «Subject:’test message'» -DeleteContent

delete item from server 01

До и после удаления:

delete item from server 02

delete item from server 03

Удаление писем в Exchange 2013 у группы получателей

Логика проста — командлет «Get-Mailbox» возвращает список всех почтовых ящиков, который потом скармливается командлету «Search-Mailbox«. Если вы хотите удалить письма у определенной группы получателей, логично воспользоваться командлетом «Get-DistributionGroupMember«.  Для увеличения скорости обработки команды можно отключить запрос на удаление при первом его появлении указав «да для всех». Все просто, переходим сразу к делу:

[PS] C:\Windows\system32>Get-Mailbox -ResultSize Unlimited | Search-Mailbox -SearchQuery «Subject:’test message'» -DeleteContent

delete item from server 04

Можно сказать пару слов про параметр «-ResultSize» у командлета «Get-Mailbox» — использовать его необязательно, если у вас меньше 1000 почтовых ящиков — это именно то максимальное количество, которое выводится по умолчанию.

После выполнения команды вам придет результат по каждому почтовому ящику.

На этом все.


Можно также почитать о более сложных сценариях поиска и удаления сообщений на exchange server (в том числе более старых версий, чем 2013):

Удаление отдельных сообщений с сервера Exchange

Create an In-Place eDiscovery search

Справочник по синтаксису языка запросов по ключевым словам (KQL)

Информация по использованным командлетам можно найти на соответствующих статьях на Technet:

Get-Mailbox

Search-Mailbox

Get-DistributionGroupMember

comments powered by HyperComments