Um Nachrichten aus einer Exchange Queue zu exportieren, müssen wir ersteinmal den „QueueName“ Herausfinden.
Dies können wir mit [code]Get-Queue -Server SERVERNAME[/code]
Hier erscheint dann z.B.
[PS] C:\Windows\system32>Get-Queue -Server SERVERNAME Identity DeliveryType Status MessageCount NextHopDomain -------- ------------ ------ ------------ ------------- SERVERNAME\12345 MapiDelivery Retry 123 DatabaseName
Der Queuename wäre hier „12345“
Um nun den gesamten Inhalt der Queue zu exportieren gehen wir folgendermasen vor.
Wir Stoppen als erstes die Queue mit:
get-queue 12345 | Get-Message | Suspend-Message
(Hier wird nichts gelöscht!)
Danach lesen wir die Mails aus der Queue aus mit
$array = @(Get-Message -Queue "12345" -ResultSize unlimited)
Als Letztes Schreiben wir den Inhalt in den Ordner (hier C:\MyMailQueues) – Das der „\“ unter -Path fehlt ist beabsichtigt!
$array | ForEach-Object {$i++;Export-Message $_.Identity | AssembleMessage -Path ("C:MyMailQueues"+ $i +".eml")}
Nun erhaten wir alle Mails aus der Queue als EML.
Die Mails könnten nun aus der Queue gelöscht werden.
Um die .EML wieder in eine Queue zu bekommen müssen Sie nur in den „PICKUP“ Folder des Exchange gelegt werden.
z.B.
C:\Program Files\Microsoft\Exchange Server\V14\TransportRoles\Pickup
Der Exchange liest die Mails automatisch ein und verarbeitet sie sofort. (Die EMLs verschwinden aus dem Ordner)