Exchange 2007'de queue'daki mesajları export etmek ve tekrar process ettirmek
Exchange 2007'de Queue Management için Queue viewer tool'u ve aşağıdaki komutlar kullanılabilir.. Exchange management shell'den kullanabileceğiniz aşağıdaki komutlar bir daha Queue Viewer tool'unu kullanmamanızı sağlayacak kadar etkin ve güzel. Kısaca komut listesini ve tanımını yapmaya çalıştım.
Export-Message -----------> mesaj export/dışarıya almak için
Get-Message ----------> mesaj listelemek için
Get-Queue ------------> queue listelemek için
Remove-Message ----------> mesaj silmek için
Resume-Message ----------> mesaj devam için
Resume-Queue ----------> queue devam için
Retry-Queue -----------> queue retry/tekrar için
Suspend-Message -----------> mesaj bekletmek için
Suspend-Queue -----------> queue bekletmek için
Mailleri dışarı alma ihtiyacı günlük bir ihtiyaç değildir bazen networksel bazen donanımsal nedenler ile gerekebilir.
Öncelikle transport service'i pause etmemiz gerekiyor... Service pause ile exchange transport'a yeni mail girişini durdurmuş oluyoruz.

Get-Queue ile queue içerisindeki mailleri bir yada daha çok alt queue'lariçerisinde görebiliriz.
Queue'daki bir mesajı export etmek için öncelikle ilgili mesaj yada mesajlar suspend edilmeli.
Get-Queue | Get-Message | Suspend-Message
Yukarıdaki komut kümesi ile tüm mailleri suspend duruma geritiyoruz. Buradaki anacımız tüm mailleri export etmek ve queue'dan silmek. Suspend ile maillerin deliver edilme ihtimali sıfıra indirilmiş oluyoruz.
Mesajaların suspend olup olmadıkları aşağıdaki komut kümesi..
Get-Queue | Get-Message
ile görülebilir. Mesajların bu aşamada status'u artık "suspended" durumdadır...
Bu aşamadan sonra mesajları queue'dan export edebiliriz. Bunun için aşağıdaki komut kümesi...
Get-Queue | Get-Message | Export-Message -Path C:\temp
kullanılır. Burada path parametresi ile export edileceği disk folder'ı belirtilmiş olunur...
Aşağıdaki örnekte mesajlar uykarıdaki komutlar ile C:\Temp'e export ediliyor.

C:\Temp içeği;

Yukarıdaki mesajlar hala queue'da durmaktadır, çünkü sadece export ettik.

Mesajların birden fazla "dublicate deliver" edilmesini önlemek için mutlaka queue database'i replace eidlmeli yada mesajlar queue'dan export edildikten sonra silinmelidir. Bu işlemi gerçekleştirmek için;
Get-Queue | Get-Message | Remove-Message ----------------> dikkat bu komut queue'daki tüm mesajları onayınızı alarak silecektir.

Yukarıdaki gibi hata mesajları gelebilir ilgili queue'lar sistem queue'sudur.
Export edilen mesajlar herhangi bir transport server üzerinde REPLAY \ PICKUP folder'ına konularak testrar process ettirilebilir...
Kısaca pickup fıolder'ın replay folder'dan farkı header firewall'dur.
Not: Submission queue ve Poison queue'daki mesajları remove edemeyiz.
K. Ekici