Search-Mailbox Търсене и изтриване на отделни имейли от пощенски кутии на Exchange

Exchange сървърът позволява на администратора да търси потребителските пощенски кутии в базите данни и да изтрива определени букви (или други елементи) от пощенските кутии. Например, потребител направи грешка и случайно изпрати лични данни на други потребители в организацията и не успя да изтегли съобщението в Outlook. Департаментът за сигурност на информацията изисква вие като администратор на Exchange да изтриете този имейл от всички потребители във вашата Exchange организация. В тази статия ще покажем как можете да използвате PowerShell за търсене в пощенските кутии на потребители на Exchange (по различни критерии) и да изтриете отделни съобщения от конкретен потребител или всички потребители на Exchange. Описаните техники се прилагат за Exchange 2016, 2013 и 2010..

Съдържание:

  • Присвойте разрешения за търсене в пощенските кутии на Exchange
  • Използваме командлета Search-Mailbox, за да намираме и изтриваме букви в пощенските кутии на Exchange
  • Примери за заявки за търсене на Exchange Exchange Mailbox
  • Ограничения за търсене в пощенска кутия
  • Бързо намиране и изтриване на имейли в Exchange 2016 с помощта на New-ComplianceSearch

Присвойте разрешения за търсене в пощенските кутии на Exchange

На акаунта на администратора, който търси и премахва елементи, трябва да му бъдат възложени следните роли:

  • Експорт на импорт на пощенска кутия
  • Търсене в пощенска кутия

Можете да възлагате роли чрез EAC или със следните команди PowerShell:

New-ManagementRoleAssignment -Използвайте itpro -Роле „Експорт на импортиране на пощенска кутия“
New-ManagementRoleAssignment -Използвайте itpro -Роле „Търсене в пощенска кутия“

След като разпределите роли, трябва да рестартирате конзолата за управление на Exchange.

Използваме командлета Search-Mailbox, за да намираме и изтриваме букви в пощенските кутии на Exchange

Можете също да търсите писма в пощенските кутии на потребителите чрез контролния панел на Exchange / Exchange Admin Center, но този метод на търсене е доста бавен и не ви позволява да изтривате букви. Много по-лесно е да търсите с PowerShell.

Можете да използвате командлета за търсене на съобщения в полетата на потребителите Търсене в пощенската кутия, което позволява, според определени критерии, да намерите букви във всички или конкретни пощенски кутии, да копирате намерени елементи в друга пощенска кутия или да ги изтриете.

Първо, ще разберем как да търсите с Search-Mailbox..
За да търсите в конкретна пощенска кутия с конкретна тема, изпълнете командата:
Търсене-пощенска кутия - вазия на идентификацията - заявка за търсене „Тема:„ годишен отчет “
За да търсите във всички пощенски кутии в организацията, използвайте командата:
Get-Mailbox -ResultSize неограничен | Търсене-пощенска кутия -иска за търсене „Тема:„ Годишен отчет “

За да копирате резултатите от търсенето в конкретна пощенска кутия и папка, използвайте параметрите TargetMailbox и TargetFolder. По този начин, след като търсенето приключи, можете ръчно да използвате Outlook или OWA, за да видите намерените букви. Да предположим, че трябва да търсим букви в списъка с потребители (съдържащи се в текстовия файл users.txt) и да копираме буквите, намерени в папката на конкретна пощенска кутия, направете:

get-content users.txt | Get-Mailbox -ResultSize неограничен | Търсене-пощенска кутия -иска за търсене „Тема: Годишен отчет“ -TargetMailbox sec_mbx -TargetFolder „ExSearchFolder“

параметър -LogOnly означава, че трябва само да оцените резултатите от търсенето, без да копирате резултатите от търсенето в целевото поле и без да изтривате елементи. Когато използвате този аргумент, на посочената целева пощенска кутия ще бъде изпратен отчет с резултати от търсенето. Отчетът е архивиран csv файл, който изброява полетата, които отговарят на критериите за търсене..

Можете да оцените резултатите от търсенето, като използвате параметъра -EstimateResultOnly, имайте предвид, че когато използвате този аргумент, не е необходимо да указвате целевата пощенска кутия и папка

За да изтриете намерени букви, трябва да използвате опцията -DeleteContent, за да премахнете заявките за потвърждение за изтриване на информация, добавете параметъра -сила.

Изтрийте всички букви от vasia на потребителя във всички пощенски кутии на конкретен сървър Exchnage:

Get-Mailbox -Server msk-mdb1 -ResultSize неограничен | Търсене-пощенска кутия -иска за търсене 'от: "[email protected]"' -DeleteContent -Force

Преди да изтриете писма от пощенските кутии с помощта на превключвателя -DeleteContent, силно препоръчваме да разгледате букви, намерени по зададените критерии, като използвате аргументите -EstimateResultOnly или -LogOnly.

За да търсите само изтрити елементи, добавете параметъра -SearchDumpsterOnly (за да изключите търсенето на изтрити елементи, добавете параметъра -SearchDumpster: $ false). Ако трябва да изключите архива на пощенската кутия, използвайте параметъра -DoNotIncludeArchive.

Примери за заявки за търсене на Exchange Exchange Mailbox

Нека разгледаме примери на заявки за избор на пратки, използващи параметъра SearchQuery. Параметърът SearchQuery обработва заявки на езика KQL (Език на заявките за ключови думи) - https://docs.microsoft.com/en-us/sharepoint/dev/general-development/keyword-query-language-kql-syntax-reference.

Изтрийте всички букви с ключовата дума „Secret“ в темата от всички потребители, които не са от вашия домейн:

Търсене-Пощенска кутия -Идентичност vasia -Търсене на запитване „Тема:„ Тайно “и от„ winitpro.ru ““ -DeleteContent

Намерете и изтрийте всички букви с прикачени файлове, по-големи от 20 MB:

Търсене-Пощенска кутия -Идентичност vasia -Търсене на запитване 'hasattachment: true AND Size> 20971520' -DeleteContent

съвет. Размерът на буквите е посочен в байтове, а размерът на цялото писмо, а не само прикачени файлове, се взема предвид. Можете да определите размера в мегабайти, като в този случай се използва следния синтаксис: -ПоискQuery Size -gt 20MB.

Можете да търсите текста в заглавието и темата на писмото едновременно, например в темата ще намерим и изтрием всички букви, които съдържат фразата „Нова година“ или фразата „купи ракия“.

Търсене-пощенска кутия vasia -иска за търсене Subject: "RE: Нова година" ИЛИ тяло: "покупка на ракия" -DeleteContent -Force

Можете да търсите конкретни елементи в полета, като използвате аргумента вид, например:

Монтаж: -ТърсенеQuery "Вид: срещи"
Данни за контакт: -ТърсенеQuery "Вид: контакти"

Или други елементи:

  • Имейл - писма
  • Срещи - Срещи
  • Задачи - Задачи
  • Бележки - бележка
  • Документи - документи
  • Списания - списания
  • Контакти - контакти
  • IM - месинджър съобщения

Търсете писма по конкретен подател и получател

-ТърсенеQuery 'от: "[email protected]" И до: "[email protected]"'

Можете да търсите писма с конкретен файл в прикачения файл:

-SearchQuery 'прикачен файл: "secret.pdf"'

Или по тип файл:

-ТърсенеQuery 'прикачен файл -подобен: "*. Docx"'

Можете да търсите по дата на изпращане / получаване на писма, но има няколко нюанса. Когато използвате дати като критерии за търсене, вземете предвид регионалните настройки на Exchange сървъра. Например, датата 20 юли 2018 г. може да показва:

  • 07.20.2018
  • 07.20.2018
  • 20-Jul-2018
  • 20 юли 2018 г.

И ако получите грешка „KQL анализаторът хвърли изключение ...“, когато стартирате командата Search-Mailbox, тогава използвате грешен формат за време.

За да търсите имейли, изпратени в определен ден, използвайте заявката:

-Заявката за търсене е изпратена: 20.07.2018 г.

Ако трябва да посочите период от време (потърсете писма, получени в определен период от време):

-ТърсенеQuery Получено: 20/20/2018 ... 20.07.2018

Друг пример. Търсим писма, получени преди 7 юли:

-Заявка за търсене Получено:> $ ('07 / 07/2018 ')

съвет. В локализирана (руска) версия на Exchange, трябва да използвате руски ключове в аргументите на KQL. Например за търсене на получени и изпратени писма в посочения период:

-ТърсенеQuery изпратено: „01.07.2018 г. ... 20.07.2018 г.“ И получено: „01.07.2018 г. ... 20.07.2018

Съответно, трябва да използвате такива конструкции в SearchQuery:

PS. Ето защо не обичам да използвам руски версии на продуктите!

Ограничения за търсене в пощенска кутия

Екипът на Search-Mailbox има значително ограничение; той може да върне само 10 000 артикула, след което ще върне грешка

Изпращането на данни до отдалечена команда не бе успешно със следното съобщение за грешка: Общите данни, получени от отдалечения клиент, надвишават максимално допустимия. Разрешеният максимум е 524288000.

Следователно, за да премахнете повече елементи, трябва да стартирате командлета Търсене в пощенската кутия няколко пъти или разбийте полето на групи по поща база данни или сървър.

Get-Mailbox -Database mskdb | Търсене-пощенска кутия -иска за търсене 'от: [email protected]' -DeleteContent -Force

Друг проблем с Search-Mailbox е ниската ефективност. Търсенето на голяма организация може да отнеме няколко дни.

Бързо намиране и изтриване на имейли в Exchange 2016 с помощта на New-ComplianceSearch

Exchange 2016 въвежда нов механизъм за бързо търсене и изтриване на букви в потребителските пощенски кутии.

Използвайки следните команди, можете значително да стесните търсенето:

New-ComplianceSearch -Name FastSearch1 -ExchangeLocation all -ContentMatchQuery 'от: "[email protected]"'
Start-ComplianceSearch -Identity FastSearch1

Тези екипи работят на няколко хиляди кутии за няколко минути.

Получаваме списък с кутии, които попадат под критериите за търсене:

$ search = Get-ComplianceSearch -Identity FastSearch1
$ results = $ search.SuccessResults
$ mbxs = @ ()
$ lines = $ results -split '[\ r \ n] +'
foreach ($ ред в $ линии)

if ($ line -match 'Местоположение: (\ S +),. + Брой на елементите: (\ d +)' -и $ съвпадат [2] -gt 0)

$ mbxs + = $ съвпадения [1]

Сега можете да започнете, като изтриете букви с помощта на Search-Mailbox само в намерените пощенски кутии:

$ mbxs | Get-Mailbox | Търсене-пощенска кутия -иска за търсене 'от: "[email protected]"' -DeleteContent -Force

Общото време за търсене и изтриване на писма се намалява няколко пъти, особено в големите организации.

Сега можете да изтриете резултатите от търсенето:

Remove-ComplianceSearch -Identity FastSearch1