Wyszukaj skrzynkę pocztową Wyszukaj i usuń pojedyncze wiadomości e-mail ze skrzynek pocztowych Exchange

Serwer Exchange pozwala administratorowi przeszukiwać skrzynki pocztowe użytkowników w bazach danych i usuwać niektóre litery (lub inne elementy) ze skrzynek pocztowych. Na przykład użytkownik popełnił błąd i przypadkowo wysłał prywatne dane do innych użytkowników w organizacji i nie udało mu się wycofać wiadomości w programie Outlook. Departament Bezpieczeństwa Informacji wymaga, abyś jako administrator Exchange usunął tę wiadomość e-mail od wszystkich użytkowników w organizacji Exchange. W tym artykule pokażemy, jak używać programu PowerShell do przeszukiwania skrzynek pocztowych użytkowników Exchange (według różnych kryteriów) i usuwania pojedynczych wiadomości od określonego użytkownika lub wszystkich użytkowników Exchange. Opisane techniki dotyczą Exchange 2016, 2013 i 2010..

Treść

  • Przypisywanie uprawnień do wyszukiwania skrzynek pocztowych Exchange
  • Korzystamy z polecenia cmdlet Search-Mailbox, aby znajdować i usuwać litery ze skrzynek pocztowych Exchange
  • Przykłady zapytań SearchQuery Exchange Mailbox
  • Ograniczenia skrzynki wyszukiwania
  • Szybko znajduj i usuwaj wiadomości e-mail w programie Exchange 2016 za pomocą narzędzia New-ComplianceSearch

Przypisywanie uprawnień do wyszukiwania skrzynek pocztowych Exchange

Konto administratora, które wyszukuje i usuwa elementy, musi mieć przypisane następujące role:

  • Eksport importu skrzynki pocztowej
  • Wyszukiwanie skrzynki pocztowej

Możesz przypisać role za pomocą EAC lub za pomocą następujących poleceń PowerShell:

New-ManagementRoleAssignment -User itpro -Role „Mailbox Import Export”
New-ManagementRoleAssignment -User itpro -Role „Wyszukiwanie skrzynki pocztowej”

Po przypisaniu ról należy ponownie uruchomić konsolę Exchange Management Shell.

Korzystamy z polecenia cmdlet Search-Mailbox, aby znajdować i usuwać litery ze skrzynek pocztowych Exchange

Możesz także wyszukiwać litery w skrzynkach pocztowych użytkowników za pomocą Panelu sterowania programu Exchange / Centrum administracyjnego programu Exchange, jednak ta metoda wyszukiwania jest raczej powolna i nie pozwala na usuwanie listów. Wyszukiwanie jest znacznie łatwiejsze przy użyciu programu PowerShell.

Za pomocą polecenia cmdlet można wyszukiwać wiadomości w skrzynkach użytkowników Wyszukaj skrzynkę pocztową, co pozwala, zgodnie z określonymi kryteriami, znajdować litery we wszystkich lub określonych skrzynkach pocztowych, kopiować znalezione elementy do innej skrzynki pocztowej lub usuwać je.

Najpierw ustalimy, jak wyszukiwać za pomocą Search-Mailbox..
Aby wyszukać w określonej skrzynce pocztowej o określonym temacie, uruchom polecenie:
Wyszukiwanie w skrzynce pocztowej - Identyfikacja wizualna - Wyszukiwanie Zapytanie „Temat:„ Raport roczny ””
Aby przeszukać wszystkie skrzynki pocztowe w organizacji, użyj polecenia:
Get-Mailbox -ResultSize nieograniczony | Search-Mailbox -SearchQuery ”Temat:„ Raport roczny ”

Aby skopiować wyniki wyszukiwania do określonej skrzynki pocztowej i folderu, użyj parametrów TargetMailbox i TargetFolder. Dlatego po zakończeniu wyszukiwania możesz ręcznie użyć programu Outlook lub OWA, aby wyświetlić znalezione litery. Załóżmy, że musimy wyszukać litery na liście użytkowników (zawartej w pliku tekstowym users.txt) i skopiować litery znalezione w folderze określonej skrzynki pocztowej, wykonaj:

get-content users.txt | Get-Mailbox -ResultSize nieograniczony | Search-Mailbox -SearchQuery „Temat: Raport roczny” -TargetMailbox sec_mbx -TargetFolder „ExSearchFolder”

Parametr -Zaloguj się oznacza, że ​​musisz tylko ocenić wyniki wyszukiwania bez kopiowania wyników wyszukiwania do pola docelowego i bez usuwania elementów. Gdy użyjesz tego argumentu, raport z wynikami wyszukiwania zostanie wysłany do określonej docelowej skrzynki pocztowej. Raport jest zarchiwizowanym plikiem csv, który zawiera listę pól spełniających kryteria wyszukiwania..

Możesz ocenić wyniki wyszukiwania za pomocą parametru -EstimateResultOnly, zwróć uwagę, że używając tego argumentu nie musisz określać docelowej skrzynki pocztowej i folderu

Aby usunąć znalezione litery, musisz skorzystać z opcji -Deletecontent, aby usunąć prośby o potwierdzenie usunięcia informacji, dodaj parametr -Siła.

Usuń wszystkie litery z vasia użytkownika we wszystkich skrzynkach pocztowych na określonym serwerze Exchnage:

Get-Mailbox -Server msk-mdb1 -ResultSize nieograniczony | Wyszukaj skrzynkę pocztową -Szukaj zapytania 'od: „[email protected]” „-DeleteContent -Force

Przed usunięciem listów ze skrzynek pocztowych za pomocą przełącznika -DeleteContent zalecamy, aby spojrzeć na litery znalezione według określonych kryteriów za pomocą argumentów -EstimateResultOnly lub -LogOnly.

Aby wyszukać tylko usunięte elementy, dodaj parametr -SearchDumpsterOnly (aby wykluczyć wyszukiwanie usuniętych elementów, dodaj parametr -SearchDumpster: $ false). Jeśli chcesz wykluczyć archiwum skrzynki pocztowej, użyj parametru -DoNotIncludeArchive.

Przykłady zapytań SearchQuery Exchange Mailbox

Spójrzmy na przykłady zapytań o wybór elementu pocztowego za pomocą parametru SearchQuery. Parametr SearchQuery obsługuje zapytania w języku KQL (Język zapytań słów kluczowych) - https://docs.microsoft.com/en-us/sharepoint/dev/general-development/keyword-query-language-kql-syntax-reference.

Usuń wszystkie litery ze słowem kluczowym „Tajne” w temacie od wszystkich użytkowników spoza Twojej domeny:

Wyszukaj w skrzynce pocztowej -Identity vasia -SearchQuery 'Temat: „Secret” i „winitpro.ru” ”-DeleteContent

Znajdź i usuń wszystkie litery z załącznikami większymi niż 20 MB:

Search-Mailbox -Identity vasia -SearchQuery 'hasattachment: true AND Size> 20971520' -DeleteContent

Wskazówka. Rozmiar liter jest podawany w bajtach, a rozmiar całej litery, a nie tylko załączników, jest brany pod uwagę. Możesz określić rozmiar w megabajtach, w tym przypadku używana jest następująca składnia: -SzukajQuery Rozmiar -gt 20 MB.

Możesz jednocześnie przeszukać tekst w nagłówku i wierszu tematu litery, na przykład znajdziemy i usuniemy wszystkie litery zawierające w wierszu tematu wyrażenie „Nowy Rok” lub wyrażenie „kup brandy”.

Search-Mailbox vasia -SearchQuery Temat: „RE: Nowy Rok” LUB treść: „zakup brandy” -DeleteContent -Force

Możesz wyszukiwać określone elementy w polach za pomocą argumentu Rodzaj, na przykład:

Spotkania: -SearchQuery „Rodzaj: spotkania”
Dane kontaktowe: -SearchQuery „Rodzaj: kontakty”

Lub inne elementy:

  • Email - listy
  • Spotkania - Spotkania
  • Zadania - zadania
  • Notatki - uwaga
  • Dokumenty - dokumenty
  • Czasopisma - czasopisma
  • Kontakty - kontakty
  • IM - wiadomości komunikatora

Wyszukaj litery według określonego nadawcy i odbiorcy

-SearchQuery ”od:„ [email protected] ”ORAZ:„ [email protected] ””

Możesz wyszukiwać litery z określonym plikiem w załączniku:

-SearchQuery „załącznik:„ secret.pdf ””

Lub według typu pliku:

-SearchQuery „podobny do załącznika:„ *. Docx ””

Możesz wyszukiwać według daty wysłania / otrzymania listów, ale istnieje kilka niuansów. Korzystając z dat jako kryteriów wyszukiwania, weź pod uwagę regionalne ustawienia serwera Exchange. Na przykład data 20 lipca 2018 r. Może wskazywać:

  • 07/20/2018
  • 20/07/2018
  • 20-lip-2018
  • 20 lipca 2018 r

A jeśli pojawi się błąd „Parser KQL zgłosił wyjątek ...” po uruchomieniu polecenia Search-Mailbox, oznacza to, że używasz niewłaściwego formatu czasu.

Aby wyszukać wiadomości e-mail wysłane w określonym dniu, użyj zapytania:

-SearchQuery wysłane: 07/20/2018

Jeśli musisz określić zakres dat (wyszukaj litery otrzymane w określonym czasie):

-SearchQuery Otrzymano: 20/20/2018 ... 07/20/2018

Kolejny przykład Szukamy listów otrzymanych przed 7 lipca:

-SearchQuery Otrzymano:> $ ('07 / 07/2018 ')

Wskazówka. W zlokalizowanej (rosyjskiej) wersji Exchange, musisz używać rosyjskich kluczy w argumentach KQL. Na przykład, aby wyszukać listy otrzymane i wysłane w określonym terminie:

-SearchQuery wysłano: „01/07/2018 ... 07/20/2018” ORAZ otrzymano: „01/07/2018 ... 07/20/2018

W związku z tym musisz użyć takich konstrukcji w SearchQuery:

Zagrożenie Dlatego nie lubię używać rosyjskich wersji produktów!

Ograniczenia skrzynki wyszukiwania

Zespół Search-Mailbox ma znaczne ograniczenia; może zwrócić tylko 10 000 elementów, po czym zwróci błąd

Wysłanie danych do polecenia zdalnego nie powiodło się z następującym komunikatem o błędzie: Całkowita liczba danych otrzymanych od klienta zdalnego przekroczyła dozwolone maksimum. Dozwolone maksimum to 524288000.

Dlatego, aby usunąć więcej elementów, musisz uruchomić polecenie cmdlet Wyszukaj skrzynkę pocztową kilka razy lub podziel pole na grupy według bazy danych poczty lub serwera.

Get-Mailbox -Database mskdb | Search-Mailbox -SearchQuery 'from: [email protected]' -DeleteContent -Force

Innym problemem związanym z Search-Mailbox jest niska wydajność. Poszukiwanie dużej organizacji może potrwać kilka dni.

Szybko znajduj i usuwaj wiadomości e-mail w programie Exchange 2016 za pomocą narzędzia New-ComplianceSearch

Exchange 2016 wprowadza nowy mechanizm szybkiego wyszukiwania i usuwania listów ze skrzynek pocztowych użytkowników.

Za pomocą następujących poleceń możesz znacznie zawęzić wyszukiwanie:

New-ComplianceSearch -Nazwa FastSearch1 -ExchangeLocation all -ContentMatchQuery 'z: „[email protected]” ”
Rozpocznij wyszukiwanie zgodności - Identyfikacja FastSearch 1

Zespoły te pracują na kilku tysiącach pudeł w ciągu kilku minut.

Otrzymujemy listę pól spełniających kryteria wyszukiwania:

$ search = Get-ComplianceSearch -Identity FastSearch1
$ results = $ search.SuccessResults
$ mbxs = @ ()
$ lines = $ results -split '[\ r \ n] +'
foreach ($ linia w $ linii)

if ($ line -match 'Lokalizacja: (\ S +) ,. + Liczba pozycji: (\ d +)' - i $ dopasowania [2] -gt 0)

$ mbxs + = $ dopasowania [1]

Teraz możesz zacząć od usunięcia liter za pomocą Search-Mailbox tylko w znalezionych skrzynkach pocztowych:

$ mbxs | Pobierz skrzynkę pocztową | Wyszukaj skrzynkę pocztową -SzukajQuery od: „[email protected]” „-DeleteContent -Force

Całkowity czas wyszukiwania i usuwania liter jest kilkakrotnie skrócony, szczególnie w dużych organizacjach.

Teraz możesz usunąć wyniki wyszukiwania:

Remove-ComplianceSearch -Identity FastSearch1