Exchange 365'ten mail silme işlemlerini gerçekleştirebilmek için, öncelikle Exchange admin kullanıcınızın
yetkilerine sahip olması gerekmektedir.
Powershell ISE run as admin olarak açılır.
ExchangeOnlineManagement modülünü yüklenir:
Install-Module ExchangeOnlineManagement
Exchange Online’a bağlanmak için komutu kullanın:
Connect-ExchangeOnline
IPPS (Inter-Planetary Protection System) Oturumu Açmak için;
Connect-IPPSSession
Komutlarını çalıştırın. Connect-IPPSSession komutu sizden giriş bilgilerinizi isteyecektir. Daha önce yetkilendirdiğimiz Exchange admin kullanıcısı ile giriş yapın.
# region Tanımlamalar $Subject = "İlgili mailin konusu” $Name = "test" # ComplianceSearch için isim $Query = “Subject:$Subject” # endregion # region compliancesearch işlemleri $search = New-ComplianceSearch -Name $Name -ExchangeLocation All -ContentMatchQuery $Query Start-ComplianceSearch -Identity $Name Get-ComplianceSearch $Name # status completed olduğunda aşağıdaki komut çalıştırılır New-ComplianceSearchAction -SearchName $Name -Preview $prename = "$Name" + "_Preview" Get-ComplianceSearchAction $prename # status completed olduğunda aşağıdaki komut çalıştırılır Get-ComplianceSearchAction $prename | fl * # Bu komut ile doğru mailin seçilip seçilmediği kontrol edilir. # endregion # region Silme işlemi New-ComplianceSearchAction -SearchName $Name -Purge -PurgeType softdelete # Silme işlemini kontrol etmek için aşağıdaki komutlar çalıştırılır $purgestat = "$Name" + "_Purge" Get-ComplianceSearchAction $purgestat # endregion
Tanımlamalar Bölgesi (# region Tanımlamalar): Bu bölümde, kullanılacak değişkenler tanımlanmaktadır. $Subject değişkeni, silinecek mailin konusunu temsil eder. $Name değişkeni, ComplianceSearch ve diğer işlemler için kullanılacak bir ismi temsil eder. $Query değişkeni ise ComplianceSearch sorgusu için kullanılır ve belirli bir konuya göre sorgu yapılmasını sağlar.
ComplianceSearch İşlemleri Bölgesi (# region compliancesearch işlemleri): Bu bölümde ComplianceSearch işlemleri gerçekleştirilir. İlk olarak, belirtilen konuya göre bir ComplianceSearch oluşturulur ve başlatılır. Ardından, bu arama üzerinde bir önizleme işlemi başlatılır. Oluşturulan önizleme işlemi kontrol edilerek doğru mailin seçilip seçilmediği incelenir.
Silme İşlemi Bölgesi (# region Silme işlemi): Bu bölümde ise belirtilen ComplianceSearch’e dayalı olarak bir silme işlemi başlatılır. New-ComplianceSearchAction komutu ile silme işlemi başlatılır ve Get-ComplianceSearchAction komutu ile silme işleminin durumu kontrol edilir.
Bu PowerShell betiği, belirli bir konudaki bir e-postayı bulma ve ardından silme işlemlerini gerçekleştirme amacını taşır. Her bir bölüm, betiğin hangi aşamada ne yaptığını açıklar.
# region Tanımlamalar $Name = "test1" # ComplianceSearch için isim # endregion # region compliancesearch işlemleri # ComplianceSearch için yeni bir arama oluşturulur. Tüm Exchange konumları içinde belirli bir tarih aralığında ve belirli bir konu içeren e-postaları bulmayı amaçlar. $search = New-ComplianceSearch -Name $Name -ExchangeLocation All -ContentMatchQuery 'Sent:"01/01/24..01/22/24" AND Subject:"İlgili mailin konusu"' Start-ComplianceSearch -Identity $Name # ComplianceSearch işleminin durumu kontrol edilir. İşlem tamamlandığında aşağıdaki komut çalıştırılır. Get-ComplianceSearch $Name # Oluşturulan aramanın önizleme işlemi başlatılır. New-ComplianceSearchAction -SearchName $Name -Preview $prename = "$Name" + "_Preview" Get-ComplianceSearchAction $prename # Önizleme işleminin durumu kontrol edilir. Get-ComplianceSearchAction $prename | fl * # Bu komut ile doğru mailin seçilip seçilmediği kontrol edilir. # endregion # region Silme işlemi # Belirlenen arama kapsamındaki e-postaların silme işlemi başlatılır. Silme işlemi "softdelete" türünde yapılır. New-ComplianceSearchAction -SearchName $Name -Purge -PurgeType softdelete # Silme işleminin durumu kontrol edilir. $purgestat = "$Name" + "_Purge" Get-ComplianceSearchAction $purgestat # endregion
Bu PowerShell betiği, Exchange Online üzerinde Compliance Search (Uyumluluk Arama) ve Compliance Search Action (Uyumluluk Arama İşlemi) kullanarak belirli kriterlere uyan e-postaları bulma ve silme işlemlerini gerçekleştirir. Yorum satırları (# region ve # endregion arasındaki kısımlar) betiğin belirli bölümlerini gruplandırmak için kullanılmıştır. Bu betik, belirli bir isimde Compliance Search oluşturur, bu arama kapsamında belirli kriterlere uyan e-postaları bulur, önizleme işlemi yapar ve ardından bu e-postaları soft delete işlemi ile siler. Betikteki değişkenler ve adımlar, kullanıcı tarafından ihtiyaca göre uyarlanabilir.