Поиск писем в почтовых ящиках с помощью Powershell в Exchange 2010. Search-mailbox

Командлет Search-Mailbox используется для поиска по почтовым ящикам и копирования результатов в указанный целевой почтовый ящик, удаления сообщений из исходного почтового ящика или обеих задач сразу.

Чтобы воспользоваться в полной мере коммандлетом Search-mailbox, нужно добавить свою учётную запись в две группы Exchange:

Add-RoleGroupMember -Identity «Discovery Management» -Member admin

Add-RoleGroupMember -Identity «Mailbox Import Export Group» -Member admin

Стоит отметить, что если у вас стоит русский Exchange, то параметры SearchQuery нужно указывать тоже на русском — получено, отправлено, откого, кому, тема и т.д., иначе можно получить ошибку «Ключевое слово property не поддерживается»
Чтобы просмотреть журнал сообщений в результатах поиска перед их удалением, выполните командлет Search-Mailbox с параметром LogOnly.

  • Поиск по ящику d.adrianovskiy от «Бизнес-школа СКОЛКОВО», полученного с 18 по 19 ноября 2016, копирование найденных писем в ящик admin и папку test:

Search-mailbox -Identity «d.adrianovskiy» -SearchQuery {from:»Бизнес-школа СКОЛКОВО» Received: 18/11/2016..19/11/2016 } -TargetMailbox «admin» -LogLevel full -TargetFolder test

  • Параметр EstimateResultOnly позволяет показать только результат поиска:

Search-mailbox -Identity «mailboxuser» -SearchQuery отправлено:»1/01/2017..27/01/2017″, получено:»1/01/2017..27/01/2017″ -EstimateResultOnly

  • Поиск по всем ящикам:

Get-Mailbox -resultsize unlimited | Search-mailbox -SearchQuery ‘subject:»Mail delivery failed» …

  • Поиск писем на конкретном сервере во всех ящиках:

Get-Mailbox –Server «Servername» –ResultSize unlimited | Search-Mailbox -SearchQuery …

  • Поиск во всех почтовых ящиках компании с любыми типами вложений, содержащих слово Virus в названии. При этом сообщение журнала отправляется в почтовый ящик администратора.

Get-Mailbox -ResultSize unlimited | Search-Mailbox -SearchQuery attachment:virus* -TargetMailbox admin -TargetFolder «SearchAndDeleteLog» -LogOnly -LogLevel Full

Ещё примеры поиска:

Search-mailbox -Identity «mailboxuser» -SearchQuery кому:»mail@mail.ru», отправлено:»1/13/2017..8/11/2016″ -TargetMailbox «mail» -TargetFolder «Archive» -LogLevel Full
Search-mailbox -Identity «mailboxuser» -SearchQuery получено:»7/2/2017..9/2/2017″, тема:»RE: Tema» -TargetMailbox «mailbox» -TargetFolder «Archive» -LogLevel Full
Search-mailbox -Identity «user» -SearchQuery получено:»3/02/2017″, откого:»vasya@yandex.ru» -TargetMailbox «admin» -TargetFolder «Archive» -LogLevel Full

Поиск и удаление сообщений в Exchange из почтовых ящиков.

При использовании командлета Search-Mailbox с параметром DeleteContent сообщения окончательно удаляются из исходного почтового ящика. Перед окончательным удалением сообщений рекомендуется использовать параметр LogOnly для создания журнала сообщений, найденных в результатах поиска, или скопировать эти сообщения в другой почтовый ящик перед их удалением из исходного почтового ящика.

  1. Поиск в ящике v.yurov по теме письма и удаление найденных писем:

Search-mailbox -Identity «v.yurov» -SearchQuery ‘subject:»Mail delivery failed»‘ -DeleteContent -confirm:$false

  • В этом примере во всех почтовых ящиках организации выполняется поиск сообщений, содержащих строчку «User Audit» в теме, после чего журнал сообщений попадает администратору в ящик:
  • Get-Mailbox -ResultSize unlimited | Search-Mailbox -SearchQuery ‘Subject:»User Audit»‘ -TargetMailbox admin -TargetFolder «SearchLog» -LogOnly -LogLevel Full
  1. Поиск во всех ящиках компании писем с адреса test@test.ru и удаление найденных писем без подтверждения:

Get-Mailbox -ResultSize unlimited | Search-Mailbox -SearchQuery ‘from:test@test.ru’ -DeleteContent -confirm:$false

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

Ваш адрес email не будет опубликован. Обязательные поля помечены *