Esportare messaggi dalle code in Exchange Server
Nei server Cassette postali e nei server Trasporto Edge in Exchange Server è possibile esportare i messaggi in una coda in file. I messaggi esportati non vengono rimossi dalla coda. Le copie dei messaggi vengono eseguite nel percorso specificato come file di testo normale. È possibile visualizzare i file dei messaggi nel Blocco note o in Outlook ed è possibile inviare nuovamente i file dei messaggi usando la directory Replay in qualsiasi altro server Cassette postali o server Trasporto Edge all'interno o all'esterno dell'organizzazione di Exchange.
Che cosa è necessario sapere prima di iniziare?
Tempo stimato per il completamento di ciascuna procedura: 5 minuti
Per eseguire queste procedure, è necessario disporre delle autorizzazioni appropriate. Per sapere quali autorizzazioni sono necessarie, vedere "Code" nell'argomento Autorizzazioni per il flusso di posta.
Per esportare i messaggi da una coda di recapito, dalla coda di invio o dalla coda non raggiungibile, i messaggi devono essere nello stato Sospeso. Per le code attive e integre, è prima necessario sospendere la coda in modo da poter sospendere i messaggi. I messaggi nella coda dei messaggi potenzialmente dannosi sono già in stato sospeso. Per altre informazioni, vedere Sospendere le code e Sospendere i messaggi nelle code.
Non è possibile utilizzare il Visualizzatore code nella Casella degli strumenti di Exchange per esportare messaggi. È tuttavia possibile usare Visualizzatore code per individuare, identificare e sospendere i messaggi prima di esportarli tramite Exchange Management Shell. Per ulteriori informazioni sul Visualizzatore code, vedere Visualizzatore code. Per sapere come aprire Exchange Management Shell nell'organizzazione di Exchange locale, vedere Open the Exchange Management Shell.
Quando si esportano messaggi da una coda, i messaggi non vengono rimossi dalla coda. Se si inviano nuovamente i messaggi esportati usando la directory Replay, è necessario rimuovere i messaggi dalla coda per evitare il recapito duplicato dei messaggi. Per ulteriori informazioni, vedere Rimozione dei messaggi dalle code.
Verificare le informazioni seguenti sul percorso di destinazione per i file di messaggio esportati:
- La cartella di destinazione deve esistere prima di esportare i messaggi e non verrà creata automaticamente. Se non si specifica il percorso completo, i file vengono scritti nella directory di lavoro corrente di Exchange Management Shell.
- Il percorso può essere locale nel server Exchange o può essere un percorso UNC di una condivisione in un server remoto (\server\condivisione).
- L'account deve disporre dell'autorizzazione scrittura nella cartella di destinazione.
Viene usato il valore della proprietà InternetMessageID del messaggio per i nomi dei file di messaggio esportati per garantire l'univocità. Le procedure includono i passaggi per rimuovere le parentesi angolate (> e <), perché non sono consentite nei nomi di file. Si usa anche l'estensione eml per aprire facilmente i file in Outlook o inviare di nuovo i file usando la directory Replay.
Per altre informazioni sull'identità e sui filtri per code e messaggi nelle code, vedere gli argomenti seguenti:
Per informazioni sui tasti di scelta rapida che è possibile utilizzare con le procedure in questo argomento, vedere Tasti di scelta rapida nell'interfaccia di amministrazione di Exchange.
Consiglio
Problemi? È possibile richiedere supporto nei forum di Exchange. I forum sono disponibili sui seguenti siti: Exchange Server, Exchange Online o Exchange Online Protection.
Utilizzare Exchange Management Shell per esportare un messaggio specifico da una coda
Per esportare un messaggio specifico da una coda, usare la sintassi seguente:
Export-Message -Identity <MessageIdentity> | AssembleMessage -Path <FilePath>\<FileName>.eml
In questo esempio vengono eseguite le azioni seguenti sul server denominato Mailbox01:
Sospende la coda di recapito contoso.com.
Sospende il messaggio nella coda con il valore InternalMessageID 1234.
Esporta una copia del messaggio nel file D:\contoso Export\export.eml.
Suspend-Queue Mailbox01\contoso.com
Suspend-Message -Identity Mailbox01\contoso.com\1234
Export-Message -Identity Mailbox01\contoso.com\1234 | AssembleMessage -Path "D:\Contoso Export\export.eml"
Utilizzare Exchange Management Shell per esportare tutti i messaggi da una coda
Per esportare tutti i messaggi da una coda e usare il valore InternetMessageID di ogni messaggio come nome file, usare la sintassi seguente:
Get-Message -Queue <QueueIdentity> -ResultSize Unlimited | ForEach-Object {$Temp=<Path>+$_.InternetMessageID+".eml"; $Temp=$Temp.Replace("<","_"); $Temp=$Temp.Replace(">","_"); Export-Message $_.Identity | AssembleMessage -Path $Temp}
In questo esempio vengono eseguite le azioni seguenti sul server denominato Mailbox01:
- Sospende la coda di recapito contoso.com.
- Sospende tutti i messaggi nella coda.
- Esporta copie dei messaggi nella cartella locale denominata D:\Contoso Export.
Suspend-Queue Mailbox01\contoso.com
Get-Queue Mailbox01\contoso.com | Get-Message -ResultSize Unlimited | Suspend-Message
Get-Message -Queue Mailbox01\Contoso.com -ResultSize Unlimited | ForEach-Object {$Temp="D:\Contoso Export\"+$_.InternetMessageID+".eml"; $Temp=$Temp.Replace("<","_"); $Temp=$Temp.Replace(">","_"); Export-Message $_.Identity | AssembleMessage -Path $Temp}
Utilizzare Exchange Management Shell per esportare messaggi specifici da tutte le code in un server
Per esportare messaggi specifici da tutte le code in un server e usare il valore InternetMessageID di ogni messaggio come nome file, usare la sintassi seguente:
Get-Message -Filter "<MessageFilter>" [-Server <ServerIdentity>] -ResultSize Unlimited | ForEach-Object {$Temp=<Path>+$_.InternetMessageID+".eml"; $Temp=$Temp.Replace("<","_"); $Temp=$Temp.Replace(">","_"); Export-Message $_.Identity | AssembleMessage -Path $Temp}
In questo esempio vengono eseguite le azioni seguenti sul server denominato Mailbox01:
- Sospende tutte le code nel server.
- Sospende tutti i messaggi in tutte le code del server dai mittenti nel dominio fabrikam.com.
- Esporta copie dei messaggi nella cartella locale denominata D:\Fabrikam Export.
Suspend-Queue -Server Mailbox01
Suspend-Message -Filter "FromAddress -like '*@fabrikam.com'" -Server Mailbox01
Get-Message -Filter "FromAddress -like '*@fabrikam.com'" -Server Mailbox01 -ResultSize Unlimited | ForEach-Object {$Temp="D:\Fabrikam Export\"+$_.InternetMessageID+".eml"; $Temp=$Temp.Replace("<","_"); $Temp=$Temp.Replace(">","_"); Export-Message $_.Identity | AssembleMessage -Path $Temp}
Utilizzare Exchange Management Shell per esportare tutti i messaggi da tutte le code in un server
Per esportare tutti i messaggi da tutte le code in un server e usare il valore InternetMessageID di ogni messaggio come nome file, usare la sintassi seguente:
Get-Message [-Server <ServerIdentity>] -ResultSize Unlimited | ForEach-Object {$Temp=<Path>+$_.InternetMessageID+".eml"; $Temp=$Temp.Replace("<","_"); $Temp=$Temp.Replace(">","_"); Export-Message $_.Identity | AssembleMessage -Path $Temp}
In questo esempio vengono eseguite le azioni seguenti sul server denominato Mailbox01:
- Sospende tutte le code nel server.
- Sospende tutti i messaggi in tutte le code del server.
- Esporta copie dei messaggi nella cartella locale denominata D:\Mailbox01 Export.
Suspend-Queue -Server Mailbox01
Get-Queue -Server Mailbox01 | Get-Message -ResultSize Unlimited | Suspend-Message
Get-Message -Server Mailbox01 -ResultSize Unlimited | ForEach-Object {$Temp="D:\Mailbox01 Export\"+$_.InternetMessageID+".eml"; $Temp=$Temp.Replace("<","_"); $Temp=$Temp.Replace(">","_"); Export-Message $_.Identity | AssembleMessage -Path $Temp}