Forum

Exchange Server 200...
 
Bildirimler
Hepsini Temizle

Exchange Server 2007 ve 2010 üzerinde toplu mail silme - Mail Export - PST Export - Multi Mailbox Search

22 Yazılar
5 Üyeler
0 Likes
2,630 Görüntüleme
Hakan Uzuner
(@hakanuzuner)
Gönderiler: 32994
Illustrious Member Yönetici
Konu başlatıcı
 

Exchange Server 2010 üzerinde bazı durumlar için kullanıcı posta kutularından bir mail' i silmek veya bir kullanıcı posta kutusunun tamamen export edilmesi gerekebilir. Özellikle inceleme yani teftiş tarzı bir iç veya dış denetime tabi tutulan kurumlarda PST export işlemi sık kullanılmaktadır. Benzer şekilde büyük organizasyonlarda yanlışlıkla gönderilen bir mailin tüm posta kutularından silinmesi istenebilir. Veya bu durum Journal - Arşiv mantığı ile çalışan sistemlerde bazen döngüye giren ve birden mevcut mail trafiğinizi 10 katına kadar çıkaran maillerin silinmesi içinde kullanılır.

Özetle şu ana kadar ihtiyacınız olmamış ise belki pek canlandıramıyor olsanızda aşağıda paylaşacağım süreçler benim başıma pek çok kez geldi ve bu komutları bilmek o anda hayat kurtardı 🙂

İlk olarak tek bir kullancı posta kutusundan belirli bir başlıktaki mailleri silme konusuna değineceğim. Bu benim başıma Journal için yani şirketin tüm maillerinin ( gelen - giden - içeride dolaşan ) bir kopyasının journal posta kutusuna gönderildiği bir şirket organizasyonunda geldi.

Sorun bu posta kutusu inanılmaz bir şekilde şişmeye başladı, no-reply ile bağlayan ve gerçekte posta kutusu olmayan bir mail adresinden gönderilen bir mail yine şirket içerisinde posta kutusu olan ancak Out Of Office ayarlayan bir kullanıcıdan bu bilgi mailine cevap dönmesi ile başlıyor. Bu kısım biraz detaylı ama işin özü ; journal posta kutusunda inanılmaz bir şekilde şişen yani loop' a giren başlıktaki mailleri silmem gerekli.

Bunun için tabiki bir yetki gerekli ve ilk olarak kendime bu yetkiyi veriyorum. Bu yetki Mail Import Export yetkisi olur mailbox içerisinde arama yapmamıda sağlamaktadır.

New-ManagementRoleAssignment -Role "Mailbox Import Export" -User huadmin

ardından ben huadmin kullanıcısı ile powershell açıyorum ve aşağıdaki komutu çalıştırıyorum

Search-Mailbox Journal -SearchQuery Subject:"Otomatik Yanıt:" -deletecontent

Yukarıdaki komut sayesinde "Journal" isimli kullanıcı posta kutusu içerisindeki konusu "Otomatik Yanıt:" olan tüm mailleri siliyorum.

İkinci durum bunun bir benzerinin tüm posta kutularında gerçekleştirilmesi, bu durumda ise yanlışlıkla gönderilmiş bir mailin tüm posta kutularından silinmesi gerekmektedir. Malum mail geri çekme özelliği her zaman çalışmaz 🙂

komut aşağıdaki gibidir

Get-Mailbox -resultsize unlimited | Search-Mailbox -SearchQuery Subject:"Otomatik Yanıt:"  -DeleteContent -force

bu komut ise tüm posta kutularındaki konusu otomatik yanıt olan mailleri silecektir.

Son senaryo ise PST Export

Kullanıcı mailboxlarındaki mailleri PST ye çıkarmak için yapmanız gereken adımları sizlere kısaca özetlemek istiyorum.

Öncelikle böyle bir işlemi yapmak için Exchange Server 2010 üzerinde "Mailbox Export Import" yetkisine sahip olmanız gerekmektedir.

Bu nedenle komutları çalıştırmaya başlamadan önce ilk olarak ECP üzerinden kendi kullanıcınız veya bu komutu kullanacak olan kullanıcı için bu yetliyi veriniz

Bu yetkiden sonra PST dosyasını nereye alacağınıza karar veriyorsunuz. Genellikle file server üzerinde olacağı için bir klasör açıyoruz ve onu paylaştırıyoruz.

Paylaştırdığınız klasörü hem güvenlik nedenleri ile hemde komutun sağlıklı çalışması için özellikle yetkilendirmeliyiz.

yani diğer kullanıcılar bu pst yi görmesin diye bir kere Domain Users gibi standart kullanıcı gruplarını hem paylaşım hemde NTFS izinlerinden kaldırın ( ACL )

Ardından bu powershell komutunun çalışması için minimum vermeniz gereken yetki aşağıdaki hesap içindir

"Exchange Trusted Subsystem"

Bu yetkiyi vermezseniz eğer Exchange Server PST dosyasını bu dizine yazamaz.

Ancak siz bu PST dosyasını Exchange Server üzerinde bir yere alacak iseniz bu şekilde bir izin vermenize gerek yoktur ( ancak yinede paylaşım üzerinden yolu yazmayı unutmayın )

komut aşağıdaki gibi

New-MailboxExportRequest -Mailbox hakanu -FilePath "\\FILESRV\PST\HAKAN.PST"

bu komut ile export işlemi başlar ve aşağıdaki komut ile bu işlemi takip edebiliriz

Get-MailboxExportRequest

ve yine işimiz bittikten sonra bu isteği silebiliriz

Remove-MailboxExportRequest

Bu komut sizden bir kimlik ister ( ID ) bunu öğrenmek için ilk komuta fl ile sorgu yaptırıp ID yi öğrenebilirsiniz sonra aşağıdaki gibi ID ile birlikte silebilirsiniz

Remove-MailboxExportRequest -Identity "cozumpark.com/muhasebe/hakanuzuner\Ma
ilboxExport"

 

Bu yazının devamı niteliğindeki aşağıdaki link' i inceleyebilirsiniz ( toplu mail silme ve Exchange 2007 hakkında bilgi için )

 

http://www.hakanuzuner.com/index.php/exchange-server-2007-2010-multi-mailbox-search.html

Danışman - ITSTACK Bilgi Sistemleri
****************************************************************
Probleminiz Çözüldüğünde Sonucu Burada Paylaşırsanız.
Sizde Aynı Problemi Yaşayanlar İçin Yardım Etmiş Olursunuz.
Eğer sorununuz çözüldü ise lütfen "çözüldü" olarak işaretlerseniz diğer üyeler için çok büyük kolaylık sağlayacaktır.
*****************************************************************

 
Gönderildi : 24/05/2012 13:37

(@ufuktatlidil)
Gönderiler: 5718
Illustrious Member
 

Eline sağlık hocam. Çok faydalı bir paylaşım.

 
Gönderildi : 24/05/2012 13:44

Hakan Uzuner
(@hakanuzuner)
Gönderiler: 32994
Illustrious Member Yönetici
Konu başlatıcı
 

Aslında yeni bir playlaşım değil ama parça parça paylaşmıştım, biri hakanuzuner.com diğer burada biri başka yerde böyle olunca ararken zor oluyor malum banada lazım oluyor ondan tek bir yer ki tabiki ÇözümPark' ta birleştirdim 🙂

Danışman - ITSTACK Bilgi Sistemleri
****************************************************************
Probleminiz Çözüldüğünde Sonucu Burada Paylaşırsanız.
Sizde Aynı Problemi Yaşayanlar İçin Yardım Etmiş Olursunuz.
Eğer sorununuz çözüldü ise lütfen "çözüldü" olarak işaretlerseniz diğer üyeler için çok büyük kolaylık sağlayacaktır.
*****************************************************************

 
Gönderildi : 24/05/2012 13:47

(@ufuktatlidil)
Gönderiler: 5718
Illustrious Member
 

Çok iyi fikir hocam. Okurken anımsamıştım bende. İyi oldu böyle. Eline sağlık.

 
Gönderildi : 24/05/2012 14:48

(@guvengurleyen)
Gönderiler: 2
New Member
 

hocam merhaba, 

sitede araştırdım ancak bulamadım. 

Exchange'de yanlış atılan maili tüm mailboxlardan nasıl sileriz acaba ? 

 yardımcı olursanız sevinirim. 

 teşekkürler.  

Güven.  

 
Gönderildi : 20/11/2012 14:18

Hakan Uzuner
(@hakanuzuner)
Gönderiler: 32994
Illustrious Member Yönetici
Konu başlatıcı
 

Güven bey bu postu okumadınız herhalde ? Bu postun amacı bu zaten.

 

Danışman - ITSTACK Bilgi Sistemleri
****************************************************************
Probleminiz Çözüldüğünde Sonucu Burada Paylaşırsanız.
Sizde Aynı Problemi Yaşayanlar İçin Yardım Etmiş Olursunuz.
Eğer sorununuz çözüldü ise lütfen "çözüldü" olarak işaretlerseniz diğer üyeler için çok büyük kolaylık sağlayacaktır.
*****************************************************************

 
Gönderildi : 21/11/2012 18:46

(@hasanselimguner)
Gönderiler: 40
Trusted Member
 

Hakan Bey,

Bütün kullanıcılara bir e-posta gönderdim, gönderdiğim mailde hata olduğunu fark ettim, e-posta geri çağırma çalışmadı,  

öncelikle "New- ManagementRoleAssignment -Role "Mailbox Import Export" -User kullanıcım" komutuyla kendi admin kullanıcıma yetki verdim. 

Get-Mailbox -resultsize unlimited | Search-Mailbox -SearchQuery Subject:"mailin konusu"  -DeleteContent -force komutunu kullandım

her hangi bir hata vermiyor, fakat kimsenin posta kutusundan da silmiyor. nereye bakmam gerekir?

 
Gönderildi : 27/12/2012 13:16

Hakan Uzuner
(@hakanuzuner)
Gönderiler: 32994
Illustrious Member Yönetici
Konu başlatıcı
 

Ürün ve SP sürümü nedir ?

Ayrıca hata vermez rapor verir, şu kadar mail buldum sildim diye.

ek olarak yetki verdiğiniz kullanıcı ile log off log on oldunuz değil mi yani aynı powershell içerisinde değil yetki verip o kullanıcıya geçiş yapıp ilerlemelisiniz

diyelimki siz adminsiniz ve bu yetkiyi admin kullanıcısına yine admin kullanıcısı ile verdiniz bu durumda o pwershell i bir kapatıp açın lütfen.

Danışman - ITSTACK Bilgi Sistemleri
****************************************************************
Probleminiz Çözüldüğünde Sonucu Burada Paylaşırsanız.
Sizde Aynı Problemi Yaşayanlar İçin Yardım Etmiş Olursunuz.
Eğer sorununuz çözüldü ise lütfen "çözüldü" olarak işaretlerseniz diğer üyeler için çok büyük kolaylık sağlayacaktır.
*****************************************************************

 
Gönderildi : 27/12/2012 18:00

(@hasanselimguner)
Gönderiler: 40
Trusted Member
 

Hocam,

Ürün, Exchange Server 2010 SP2,

 New- ManagementRoleAssignment -Role "Mailbox Import Export" -admin

komutunu çalıştırdıktan sonra aşağıdaki uyarıları aldım, 

The term 'New-' is not recognized as the name of a cmdlet, function, script file, or operable program. Check the spelling of the name, or if a path was included, verify that the path is correct and try again.

At line:1 char:5

+ New- <<<<  ManagementRoleAssignment -Role "Mailbox Import Export" -admin

    + CategoryInfo          : ObjectNotFound: (New-:String) [], CommandNotFoundException

    + FullyQualifiedErrorId : CommandNotFoundException 

 shell'i kapattım, sunucuyu restart ettim, tekrar aynı kullanıcı ile logon oldum tekrar exchange shell'i açtım,

 

 Search-Mailbox Journal -SearchQuery Subject:"silmek istediğim maillin konusu" -deletecontent 

komutunu çalıştırınca;

The term 'Search-Mailbox' is not recognized as the name of a cmdlet, function, script file, or operable program. Check

the spelling of the name, or if a path was included, verify that the path is correct and try again.

At line:1 char:15

+ Search-Mailbox <<<<  Journal -SearchQuery Subject:"silmek istediğim mailin konusu" -deletecontent

    + CategoryInfo          : ObjectNotFound: (Search-Mailbox:String) [], CommandNotFoundException

    + FullyQualifiedErrorId : CommandNotFoundException

yukarıdaki mesajlarla karşılaşıyorum,  

nerede hata yapıyorum Hocam?  

 
Gönderildi : 28/12/2012 02:26

Hakan Uzuner
(@hakanuzuner)
Gönderiler: 32994
Illustrious Member Yönetici
Konu başlatıcı
 

Hasan bey benim gönderdiğim komut aşağıdaki gibi

New- ManagementRoleAssignment -Role "Mailbox Import Export" -User huadmin

doğrusu ise

New-ManagementRoleAssignment -Role "Mailbox Import Export" -User huadmin

 yani new- den sonra boşluk yok, ancak ben bu kadar ciddi bir operasyonu yapacaksanız temelde pek çok kez powershell çalıştırdığınızı düşündüm çünkü bu hatayı görür görmez anlamanız gereken bir durumdu

 

The term 'New-' is not recognized

Neyse işin özü durum bu ama anladığım kadarı ile powershell tecrübeniz yok bu nedele lütfen bilen bir kişi ile bu işlere girişin çok ciddi sonuçlar doğurabilir.

 

 

Danışman - ITSTACK Bilgi Sistemleri
****************************************************************
Probleminiz Çözüldüğünde Sonucu Burada Paylaşırsanız.
Sizde Aynı Problemi Yaşayanlar İçin Yardım Etmiş Olursunuz.
Eğer sorununuz çözüldü ise lütfen "çözüldü" olarak işaretlerseniz diğer üyeler için çok büyük kolaylık sağlayacaktır.
*****************************************************************

 
Gönderildi : 28/12/2012 14:24

(@hasanselimguner)
Gönderiler: 40
Trusted Member
 

Hakan Bey, powershell hiç kullanmadım, fakat new den sonra nasıl boşluk olmuş hakikaten anlamadım 🙂 çünkü kopyaladım ve yapıştırdım diye hatırlıyorum. Biz problem yaşadıkça cozumpark.com'dan çözüm bularak çalıştırdık şimdiye kadar. Neyse Üstat bir Exchange eğitimine gitmemiz vacip oldu.

İlginize teşekkür ederim..

 
Gönderildi : 28/12/2012 16:59

Hakan Uzuner
(@hakanuzuner)
Gönderiler: 32994
Illustrious Member Yönetici
Konu başlatıcı
 

Evet gelin bizim eğitimlere bekleriz 🙂

http://egitim.cozumpark.com

Danışman - ITSTACK Bilgi Sistemleri
****************************************************************
Probleminiz Çözüldüğünde Sonucu Burada Paylaşırsanız.
Sizde Aynı Problemi Yaşayanlar İçin Yardım Etmiş Olursunuz.
Eğer sorununuz çözüldü ise lütfen "çözüldü" olarak işaretlerseniz diğer üyeler için çok büyük kolaylık sağlayacaktır.
*****************************************************************

 
Gönderildi : 28/12/2012 19:22

(@EserCEBi)
Gönderiler: 19
Eminent Member
 
Merhaba,
 
Sanırım bu konu şirket içi şeklinde. Peki dışarıdan birisi tarih önemli değil [email protected] dan  e posta göndermiş ise, ben bunu mail serverdan iletinin bulunduğu kullanıcılardan nasıl silebilirim. Kimlere geldiğini de bilmiyorum....
 
Gönderildi : 23/12/2013 19:17

Hakan Uzuner
(@hakanuzuner)
Gönderiler: 32994
Illustrious Member Yönetici
Konu başlatıcı
 

Maili silmek istediğiniz sunucu şirket dışında mı? Yani sunucu sizin yönetiminizde değil ise bunu yapamazsınız. Ama yok sunucu şirket içerisinde ise aşağıdaki link size yardımcı olacaktır

http://www.hakanuzuner.com/index.php/exchange-server-2007-2010-multi-mailbox-search.html

Danışman - ITSTACK Bilgi Sistemleri
****************************************************************
Probleminiz Çözüldüğünde Sonucu Burada Paylaşırsanız.
Sizde Aynı Problemi Yaşayanlar İçin Yardım Etmiş Olursunuz.
Eğer sorununuz çözüldü ise lütfen "çözüldü" olarak işaretlerseniz diğer üyeler için çok büyük kolaylık sağlayacaktır.
*****************************************************************

 
Gönderildi : 24/12/2013 12:44

(@EserCEBi)
Gönderiler: 19
Eminent Member
 
Şöyle özetlersem ;
 
Diyelim ki  
 
Benim @cebi.com uzantılı alan adım mevcut ve exchange 2010 ile yönetimi kendi bünyemde. [email protected] [email protected] ve [email protected] e posta adreslerim var. Dışarıdan [email protected] adresinden @cebi.com e posta gönderilmiş. Ben tüm kullanıcılarımdan konu veya saat belirtmeksizin sadece gönderenin e posta adresi ile (" [email protected] ") ve sadece alan adı uzantısı ile (" @hotmail.com ")  gelen e postaları nasıl silebilirim.
 
Hatta kendi kullanıcılarımdan @hotmail.com 'a gönderilen e postalarıda silebilirmiyim ? 
 
Gönderildi : 24/12/2013 15:11

Hakan Uzuner
(@hakanuzuner)
Gönderiler: 32994
Illustrious Member Yönetici
Konu başlatıcı
 

Verdiğim linki kullanabilirsiniz.

Yani sizin durumunuz ilkine uyuyor, mail sistemi sizde olduğu için her türlü mail silme işlemini yapabiliriz.

örnek bir komut

Search-Mailbox hakan -SearchQuery "(sent:09/06/13..09/06/13) AND (from:[email protected])" -deletecontent

 

 

Danışman - ITSTACK Bilgi Sistemleri
****************************************************************
Probleminiz Çözüldüğünde Sonucu Burada Paylaşırsanız.
Sizde Aynı Problemi Yaşayanlar İçin Yardım Etmiş Olursunuz.
Eğer sorununuz çözüldü ise lütfen "çözüldü" olarak işaretlerseniz diğer üyeler için çok büyük kolaylık sağlayacaktır.
*****************************************************************

 
Gönderildi : 24/12/2013 16:40

(@EserCEBi)
Gönderiler: 19
Eminent Member
 

Cevap için teşekkür ederim verdiğiniz yöntem işe yaradı komut aşağıdaki gibi

 

Search-Mailbox eser.cebi -SearchQuery "from:[email protected]" -deletecontent 

 

 Peki bu komutu tüm kullanıcılar için nasıl yazarım 

 
Gönderildi : 27/12/2013 16:40

Hakan Uzuner
(@hakanuzuner)
Gönderiler: 32994
Illustrious Member Yönetici
Konu başlatıcı
 

postumda yazmıştım zaten, yukarıda, gözünden kaçmış sanırım

Get-Mailbox -resultsize unlimited | Search-Mailbox -SearchQuery Subject:"Otomatik Yanıt:"  -DeleteContent -force

Danışman - ITSTACK Bilgi Sistemleri
****************************************************************
Probleminiz Çözüldüğünde Sonucu Burada Paylaşırsanız.
Sizde Aynı Problemi Yaşayanlar İçin Yardım Etmiş Olursunuz.
Eğer sorununuz çözüldü ise lütfen "çözüldü" olarak işaretlerseniz diğer üyeler için çok büyük kolaylık sağlayacaktır.
*****************************************************************

 
Gönderildi : 27/12/2013 16:55

(@EserCEBi)
Gönderiler: 19
Eminent Member
 
Merhaba,
 
Evet doğru görmemişim, peki başka bir soru daha ;
 
Diyelim ki exchange üzerinde bulunan kullanıcılardan bir kaç tanesi aynı adrese e posta göndermiş. Ben kullanıcıların gönderilmiş ögelerinden, istediğim e posta adresine gönderilen e postaları nasıl silerim.
 
 
Gönderildi : 27/12/2013 20:04

Sayfa 1 / 2
Paylaş: