Search-Mailbox wyszukiwanie i usuwanie określonych emaili

This post is also available in: angielski

Każdy administrator systemu Microsoft Exchange Server kiedyś napewno spotkał lub spotka się z sytuacją w której będzie musiał znaleźć określony email w skrzynkach i czasami nawet go usunąć.

W Microsoft Exchange 2010 do przeszukiwania skrzynek możemy z powodzeniem wykorzystywać polecenie Search-Mailbox.

Najpierw jednak należy się upewnić że mamy możliwość uruchamiana poleceń Search-Mailbox oraz New-MailboxImportRequest.
Jeżeli podczas próby uruchomienia polecenia New-MailboxImportRequest otrzymamy komunikat:

 “The term ‘New-MailboxImportRequest’ is not recognized as the name of a cmdlet”

oznacza to że nie posiadamy odpowiednich uprawnień.

Nadanie odpowiednich uprawnień:

W Active Directory tworzymy uniwersalną grupę security np ExchangeImportExport_Allowed

Następnie w EMS (Exchange Management Shell) nadajemy odpowiednią role (RBAC) tej grupie jak poniżej:

New-ManagementRoleAssignment -Name "Import Export Mailbox Admins" -SecurityGroup "*ExchangeImportExport_Allowed*" -Role "Mailbox Import Export"

Po nadaniu odpowiednich uprawnień jesteśmy już przygotowani do przeszukiwania skrzynki.

Jak już wspomnieliśmy do przeszukiwania skrzynek wykorzystujemy polecenie:

Search-Mailbox

Musimy pamiętać, że jeżeli użyjemy polecenia Search-Mailbox z opcją usunięcia znalezionych wiadomości bez kopiowania ich do innej skrzynki wówczas wiadomości te zostaną trwale usunięte.

Podstawowe trzy opcje wyszukiwania wiadomości:

  1. DeleteContent – użycie tylko tego parametru spowoduje usunięcie ze skrzynki wiadomości spełniających warunki określone w poleceniu Search-Mailbox. Nie będziemy mieli dostępu do żadnego logu jakie wiadomości zostały usunięte.
  2. LogOnly – użycie tego parametru powoduje logowanie informacji o wiadomościach które zostały znalezione, log zapisywany jest w pliku .csv oraz przesyłany jest jako załącznik na skrzynkę zdefiniowana w poleceniu Search-Mailbox
  3. Kopiowanie – użycie parametrów TargetMailbox i TargetFolder spowoduje skopiowanie wszystkich znalezionych wiadomości do wskazanego folderu we wskazanej skrzynce.
Przykłady:

Przeszukanie pojedyńczej skrzynki, wyszukiwany jest email o określonym temacie, email nie zostanie usunięty jedynie wyniki wyszukiwania zostaną zapisane w docelowej skrzynce.

Search-Mailbox -Identity <name> -SearchQuery subject:"some subject" -TargetMailbox <name of mailbox> -TargetFolder <name of folder> -LogOnly -LogLevel Full
Search-Mailbox -Identity "Kowalski Jan" -SearchQuery subject:"Super wiadomość" -TargetMailbox Administrator -TargetFolder SearchLogs -LogOnly -LogLevel Full

 

Wyszukanie we wszystkich skrzynkach emaila który zawiera określony załącznik, zapisanie wyników do określonej skrzynki:

Get-Mailbox -ResultSize unlimited | Search-Mailbox -SearchQuery attachment:<filename> -TargetMailbox <name of mailbox> -TargetFolder <name of folder> -LogOnly -LogLevel Full
Get-Mailbox -ResultSize unlimited | Search-Mailbox -SearchQuery attachment:virus* -TargetMailbox Administrator -TargetFolder SearchLogs -LogOnly -LogLevel Full

 

Przeszukanie wszystkich skrzynek i usuniecie emaila zawierającego określony temat, użycie parametru DeleteContenet:

Get-Mailbox -ResultSize unlimited | Search-Mailbox -SearchQuery subject:<subject line> -DeleteContent
Get-Mailbox -ResultSize unlimited | Search-Mailbox -SearchQuery subject:"Download this file" -DeleteContent

 

Przeszukanie wszystkich skrzynek i skopiowanie określonej wiadomości przed jej usunięciem:

Get-Mailbox -ResultSize unlimited | Search-Mailbox -SearchQuery subject:<subject line> -TargetMailbox <name of mailbox> -TargetFolder <name of folder> -DeleteContent
Get-Mailbox -ResultSize unlimited | Search-Mailbox -SearchQuery subject:"Download this file" -TargetMailbox Administrator -TargetFolder DeletedMessages -DeleteContent

 

Usunięcie wiadomości od okreslonego nadawcy z określonym tematem:

Get-Mailbox -Identity “Kowalski Jan” | Search-Mailbox -SearchQuery subject:”This is SPAM!”,from:”spammer@spam.com” -DeleteContent
Get-Mailbox -resultsize unlimited | Search-Mailbox -SearchQuery subject:”This is SPAM!”,from:”spammer@spam.com” -DeleteContent

 

Jeżeli chcemy usunąć wiadomości otrzymane lub wysłane w określonym czasie wówczas składnia polecenia powinna wyglądać jak poniżej:

Get-Mailbox -ResultSize unlimited | Search-Mailbox -SearchQuery "Sent:> $('2011-12-31') and Sent:< $('2012-06-01')" -Confirm:$false -Force -TargetMailbox "targetuser" -TargetFolder "SearchAndDeleteLog" -LogLevel Full -DeleteContent
Search-Mailbox -identity somemailbox -searchQuery "Received:< $(get-date).addDays(-2)" -DeleteContent
Search-Mailbox -Identity “mailbox_name” -SearchQuery “Received:> $(’10/01/2012') and Received:< $(’10/05/2012')” -DeleteContent

Poniżej przedstawiamy tabelkę z listą warunków dotyczących właściwości wiadomości email, które możemy użyć podczas wyszukiwania:

 

Property Example Search results
Attachments attachment:secretreport.xls Wiadomość z określonym załącznikiem secretreport.xls.
Możemy użyć secretreport.xls lub secretrep*.
Cc cc:”Nowak Kazimierz”cc:Grupa_Znajomychcc: jan.kowalski@domena.com Wiadomości z odpowiednim wpisem w polu CC
From from:”Jan Kowalski”from:Kowalskifrom:jan.kowalski@domena.com Wiadomości otrzymane od określonych nadawców
Sent sent:07/19/2012 wiadomości wysłane 19 Lipca 2012
Subject subject:”Wazny Raport” Wiadomość zawierająca temat Wazny Raport
To to:”Nowak Adam”to:A.Nowakto:a.nowak@domena.com Wiadomości wysłane do określonej osoby.
Print Friendly
Otagowany , , , , , , .Dodaj do zakładek permalink.

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *

Możesz użyć następujących tagów oraz atrybutów HTML-a: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>