Microsoft Exchange 2010 queue eksport, ponowne wysłanie

This post is also available in: angielski

Czasami w środowisku Microsoft Exchange mamy problem z serwerami transportowymi Hub Transport lub Edge Transport, wówczas na innych serwerach tworzą się kolejki z wiadomościami które nie mogą zostać przekazane dalej.

Po rozwiązaniu problemu który spowodował awarie serwera Exchange, kolejki te potrzebują kilku czasami nawet kilkudziesięciu minut do przekazania emaili dalej do innych serwerów.

Aby przyśpieszyć dostarczenie emaili możemy ręcznie wymusić ponowne przekazanie wiadomości znajdujących się w kolejkach jeżeli kolejki te nie są w stanie Suspended oraz znajdują się w:

  • mailbox Delivery queues lub Remote delivery queues ze statusem Retry
  • Unreachable queue
  • Poison queue

 

Do ręcznego wymuszenia przekazania wiadomości możemy wykorzystać poniższe metody:

  • za pomocą konsoli Exchange Management Shell użyć polecenia Retry-Queue z parametrem -Resubmit
  • wyeksportowanie wiadomości z kolejki do plików .eml i umieszczenie ich w folderze Replay directory (dla Exchange 2010 default location:
    C:\Program Files\Microsoft\Exchange Server\V14\TransportRoles\Replay) w celu ponownego ich wysłania
  • uruchomienie narzędzia Queue Viewer lub użycie polecenia Resume-Message w celu wymuszenia wysłania wiadomości z kolejki Poison

 

Exchange 2010 eksport kopii wiadomości z kolejki:

Aby wyeksportować wiadomość z zablokowanej kolejki do pliku .eml musimy użyć polecenia Export-Message.  Po wyeksportowaniu wiadomości możemy ją umieścić w  Exchange 2010 Replay Directory.

 

Poniższy przykład powoduje wyeksportowanie wiadomości z InternalMessageID 1234 znajdującej się w kolejce domain.com na serwerze ExHub01:

Export-Message ExHub01\domain.com\1234 -Path "d:\message_export\msg.eml"

 

Jeżeli potrzebujemy wyeksportować wszystkie wiadomości które znajdują się w kolejce musimy skorzystać z poniższych przykładów:

$array = @(Get-Message -Queue "QueueName" -ResultSize unlimited)
$array | ForEach-Object {$i++; Export-Message $_.Identity | AssembleMessage -Path ("c:\Export_messages\"+ $i +".eml")}

 

Po wykonaniu powyższych poleceń w folderze C:\Export_messages umieszczone zostaną wszystkie wiadomości znajdujące się w kolejce QueueName, dzięki temu możemy je przenieść na inny serwer Exchange Hub Transport do folderu Transport Pickup directory (domyślna lokalizacja dla Exchange 2010: C:\Program Files\Microsoft\Exchange Server\V14\TransportRoles\Pickup).

Więcej informacji na temat folderów serwerów transportowych Exchange: Exchange 2010 Transport Pickup Directory

 

Exchange 2010 ponowne wysłanie wiadomości z kolejki Delivery Queue:

Poniższe polecenie spowoduje ponowne wysłanie (resubmit) wszystkich wiadomości znajdujących się w kolejce 74536 na serwerze ExHub01:

Retry-Queue “ExHub01\74536” -Resubmit $True

 

aby wyeksportować wszystkie wiadomości z wszystkich kolejek na serwerze Exchange które posiadają status Retry musimy wykonać polecenie:

Retry-Queue –Server “ExHub01” -Filter {Status -eq "Retry"} -Resubmit $True

 

Ponowne wysłanie wszystkich wiadomości znajdujących się w kolejce Unreachable:

Retry-Queue “ExHub01\Unreachable” -Resubmit $True

 

aby wysłać ponownie wszystkie wiadomości z wszystkich kolejek przesyłane do określonej domeny(domain.com) mające status Retry musimy użyć:

Retry-Queue –Server “ExHub01” -Filter {NextHopDomain -eq “domain.com” -and Status -eq “Retry”}

 

Exchange 2010 Poison Queues:

W przypadku kolejek Poison na Exchange, nie możemy użyć Retry-Queue z parametrem -Resubmit.

Przed wymuszeniem ponownego przesłania wiadomości znajdujących się w kolejce Poison należy je najpierw przeglądnąć w celu określenia czy wiadomości te są dla nas bezpieczne. Przetworzenie przez serwer Exchange takich wiadomości może skutkować uszkodzeniem systemu lub zawieszeniem się serwera.

Po upewnieniu się, że wiadomości znajdujące się w kolejce Poison Queue są bezpieczne możemy wymusić ich ponowne wysłanie używając Exchange Management Console:

W tym celu uruchamiamy Queue Viewer, wybiramy Queues Tab, zaznaczamy kolejkę Poison Queue i wybieramy View Messages, następnie zaznaczamy wszystkie wiadomości klikamy prawym przyciskiem i wybieramy Resume.

 

 

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>