Exchange Server’da E-Posta Arama ve Silme(Remove Mail Items)

Exchange Server’da kullanıcıların veya dağıtım gruplarının posta kutularında yanlışlıkla gönderilen e-postaları bulmak ve gerekirse silmek için PowerShell komutları kullanılabilir.

Genellikle "Search-Mailbox" veya "New-ComplianceSearch" cmdlet'leri bu tür işlemler için tercih edilir.

Bu işlemler için genellikle “Search-Mailbox New-ComplianceSearch” setlerini kullanabilirsiniz.

Bu işlemleri On-Prem Exchange Server veya Exchange Online üzerinde gerçekleştireceğiniz kullanıcı için bazı yetki tanımlamaları yapılması gerekmektedir. (Administrator Kullanıcısı hariç)

Exchange Server’da Search-Mailbox İçin Gerekli Yetkilendirme

Kullanacağınız hesaba belirli rollerin atanması gerekmektedir. Bu atamayı Exchange Management Shell (EMS) kullanarak ya da Exchange Control Panel (ECP) üzerinden gerçekleştirebilirsiniz. İlgili roller şunlardır:

  • Mailbox Import Export
  • Mailbox Search
Search-Mailbox: Bu cmdlet, belirli kriterlere göre posta kutularında e-posta araması yapmanıza olanak tanır.
DeleteContent: Arama sonucunda bulunan içerikleri silmek için kullanılır.
New-ComplianceSearch: Genellikle Exchange Online'da uyumluluk aramaları için kullanılır.

Exchange Server’da PowerShell Kullanarak Search-Mailbox ve New-ComplianceSearch Yetkilendirme

Aşağıdaki PowerShell komutları, belirtilen kullanıcıya gerekli rolleri atamak için kullanılabilir:

New-ManagementRoleAssignment -User "cengizyilmaz" -Role "Mailbox Import Export"
New-ManagementRoleAssignment -User "cengizyilmaz" -Role "Mailbox Search"
  • Mailbox Import Export: Posta kutusu içeriğini dışa ve içe aktarmak için gerekli.
  • Mailbox Search: Posta kutularında arama yapma yetkisi.

Exchange Online’da New-ComplianceSearch için Yetkilendirme

Exchange Online üzerinde bulunan mail hesaplarınız içerisinde arama yapmak için gerekli yetkilendirmeyi aşağıdaki komutlar ile sağlayabilirsiniz.

Add-RoleGroupMember "Discovery Management" -Member [email protected]
New-RoleGroup "Mailbox Import-Export Management" -Roles "Mailbox Import Export"
Add-RoleGroupMember "Mailbox Import-Export Management" -Member [email protected]

Exchange Search-Mailbox Kullanımı ve Posta Arama

Exchange‘de posta kutularında e-posta araması yapmak için PowerShell’in Search-Mailbox cmdlet’ini kullanabilirsiniz. Bu yöntemler, belirli kriterlere göre e-posta araması yapmanızı sağlar ve işlem için iki farklı araç sunar.

PowerShell’in Search-Mailbox cmdlet’i, daha özelleştirilmiş ve detaylı arama imkanı sunar.

Exchange Server’da bir Mailbox İçin Arama Yapmak İçin Kullanılan Komut:

Search-Mailbox -Identity "[email protected]" -SearchQuery 'Subject:"Test Maili"'

Bu komut, belirtilen posta kutusunda “Test Maili” konulu e-postaları arar.

Exchange Server’da tüm Posta Kutularında Arama Yapmak İçin Kullanılan Komut:
Get-Mailbox -ResultSize unlimited | Search-Mailbox -SearchQuery 'Subject:"Test Maili"'

Bu komut, Exchange Server ortamındaki tüm posta kutularında “Test Maili” konulu e-postaları arar.

Exchange Online'da, Search-Mailbox komut seti kullanıldığında, Microsoft tarafından bu komutun kullanımıyla ilgili olarak bir uyarı alabilirsiniz. Microsoft, daha hızlı sonuçlar elde etmek için New-ComplianceSearch ve New-ComplianceSearchAction cmdlet'lerini kullanmanızı önermektedir.

Exchange Online’da Search-Mailbox komut setini kullanırsanız aşağıdaki gibi bir uyarı alabilirsiniz, Microsoft daha hızlı bir sonuç vermesi için New-ComplianceSearchNew-ComplianceSearchAction setini kullanmanızı önermektedir.

WARNING:  On July 1, 2020, the Search-Mailbox cmdlet is being retired and Microsoft Support will no longer provide assistance.  See https://go.microsoft.com/fwlink/?linkid=2113221 to learn more. WARNING: The Search-Mailbox cmdlet returns up to 10000 results per mailbox if a search query is specified. To return more than 10000 results, use the New-MailboxSearch cmdlet or the In-Place eDiscovery & Hold console in the Exchange Administration Center.
WARNING:  On July 1, 2020, the Search-Mailbox cmdlet is being retired and Microsoft Support will no longer provide assistance.  See https://go.microsoft.com/fwlink/?linkid=2113221 to learn more. WARNING: The Search-Mailbox cmdlet returns up to 10000 results per mailbox if a search query is specified. To return more than 10000 results, use the New-MailboxSearch cmdlet or the In-Place eDiscovery & Hold console in the Exchange Administration Center.

Exchange Server’da DeleteContent Kullanımı

Search-Mailbox seti ile arama yaptığınız mail itemslerini silebilirsiniz veya silmek isteyebilirsiniz. -deletecontent parametresi kullandığınızda işlemi gerçekleştirmek için sizden ikinci bir onay isteyecektir bu onay işlemini kaldırmak için -force parametresini kullanabilirsiniz.

Belirli bir kişiden gönderilmiş tüm postaların silinmesini isterseniz, kullanmanız gereken komut seti aşağıdaki gibidir;

Get-Mailbox –Server cy-exc01 –ResultSize unlimited | Search-Mailbox -SearchQuery 'from:"[email protected]"' –DeleteContent –Force

Search-Mailbox parametresinde bir sınırlandırma bulunmaktadır, sadece 10.000 öge bulabilmektedir.

Bir dağıtım grubu üyelerine gelen içeriği silmek için aşağıdaki seti kullanabilirsiniz;

Get-DistributionGroupMember "DL Adı" | Search-Mailbox -SearchQuery:"Test Maili" -DeleteContent -Force:$True

Exchange Server’da DeleteContent ile Mail Silme

Exchange Server kullanarak, Search-Mailbox cmdlet’ini kullanarak posta kutularında arama yapabilir ve istenmeyen ya da yanlış gönderilmiş e-postaları silebilirsiniz. -deletecontent parametresi, bulunan e-postaların silinmesi için kullanılır ve bu işlem için genellikle ikinci bir onay ister. Eğer onay adımını atlamak istiyorsanız, -force parametresini kullanabilirsiniz.

  • Eğer belirli bir kullanıcıdan gelen tüm e-postaları silmek istiyorsanız, aşağıdaki komut seti kullanılabilir:
Get-Mailbox –Server cy-exc01 –ResultSize unlimited | Search-Mailbox -SearchQuery 'from:"[email protected]"' –DeleteContent –Force

Bu komut, belirtilen sunucudaki tüm posta kutularını inceler, belirli bir göndericiden gelen e-postaları bulur ve onları onay istemeden siler.

Dağıtım Grubu Üyelerine Gelen İçeriği Silmek

Bir dağıtım grubuna gelen belirli içeriği silmek için aşağıdaki PowerShell komutu kullanılabilir:

Get-DistributionGroupMember "DL Adı" | Search-Mailbox -SearchQuery:"Test Maili" -DeleteContent -Force:$True

Bu komut, belirtilen dağıtım grubunun üyelerinin posta kutularında “Test Maili” konulu e-postaları arar ve bulduğu tüm içeriği onay istemeden siler.

Search-Mailbox Kullanım Sınırlamaları

Search-Mailbox cmdlet'i ile yapılan aramalarda, maksimum 10.000 öge bulunabilir. Eğer bu limiti aşmak gerekiyorsa, daha geniş kapsamlı arama yapmak için New-MailboxSearch cmdlet'i veya Exchange Admin Center içindeki In-Place eDiscovery & Hold aracını kullanmanız önerilir

Yorum yapın