Exchange. Удалить письмо

Для поиска и удаления писем в Exchange есть специальные командлеты.
Например Search-Mailbox.
В новых версиях Exchange, начиная с версии 2016, появились производительные способы поиска и удаления писем, средствами набора командлетов ComplianceSearch .
В этой же статье давайте остановимся именно на доступном во всех версиях командлете Search-Mailbox

EstimateResultOnly

Параметр EstimateResultOnly выводит найденные результаты на экран, если его не указать, то SearchQuery потребует указать альтернативный режим вывода результатов, например сохранить в другой ящик.

Найти и удалить

Если нужно удалить найденные письма, то используйте ключ -DeleteContent

Search-Mailbox -Identity mailbox -SearchQuery 'From:"username@domain.com"' -DeleteContent
Найти и скопировать в указанный ящик
Search-Mailbox -Identity mailbox -SearchQuery 'From:"username@domain.com"' -TargetMailbox "TargetMailbox" -TargetFolder "SearchResults"

Если указанная в ящике папка отсутствует, то она автоматически будет создана

С английской документаций по Search-Mailbox можно ознакомиться тут
Частые заголовки

Subject: «Тема письма»
Received:> 08/18/2019
Sent: 08/18/2019
From: «BillGeyts@microsoviet.com»
Attachment: «file.xlsx»
Isread:false

Поиск по дате

Что бы выполнить запрос по дате, нужно узнать правильный формат даты на конкретном сервере:

(Get-Culture).DateTimeFormat.ShortDatePattern

Используя полученный шаблон получаем текущую дату в актуальном формате:

(Get-Date -Format ((Get-culture).DateTimeFormat.ShortDatePattern))
Поиск писем по диапазону дат
Search-Mailbox -Identity mailbox -SearchQuery 'Received:08/18/2019..08/21/2019' -EstimateResultOnly

Также можно провести поиск в диапазоне конкретного времени

Корректно указать время для этой команды, в моем случае, удалось лишь в формате UTC — то есть минус 3 часа(по МСК) от искомого диапазона

Получить текущее время в формате UTC

(Get-Date).ToUniversalTime()

Таким образом, фильтр для поиска писем, которые пришли в диапазоне между 15:45 и 16:30, будет выглядеть следующим образом:

Search-Mailbox -SearchQuery 'received:"12/21/2020 12:45..12/21/2020 13:00"' -EstimateResultOnly
Добавить исключение
Search-Mailbox -Identity username -SearchQuery 'Subject:"Тема письма" -"ключевая фраза"' -EstimateResultOnly

В данном примере фраза после минуса  -«ключевая фраза» определяет исключение указанных слов, в рамках искомого заголовка.

Комбинации фильтров

Фильтры можно совмещать используя оператор «AND», в данном случае без дефиса, и в верхнем регистре

Search-Mailbox -Identity username -SearchQuery 'Subject:"RE: проект" AND "Received:08/20/2019"' -EstimateResultOnly

Еще пример комбинированного фильтра

Get-Mailbox -ResultSize unlimited | Search-Mailbox -SearchQuery 'Subject:"Тема письма: Важное письмо!" AND body:"остаток, 50 руб." AND received:"12/25/2020 12:45..12/25/2020 13:00"' -EstimateResultOnly

 

Так же предлагаю посмотреть  вам другие заметки по теме Exchange:
Просмотр пользователей динамической группы
Почему создается почтовый ящик с цифрой 2 в имени, и как это исправить
Подключение ранее отключенного ящика

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

Ваш адрес email не будет опубликован.