다음을 통해 공유


Exchange Server 큐에서 메시지 내보내기

적용 대상:예-img-162016 yes-img-192019 yes-img-seSubscription Edition

Exchange Server 사서함 서버 및 Edge 전송 서버에서 큐의 메시지를 파일로 내보낼 수 있습니다. 내보낸 메시지는 큐에서 제거되지 않습니다. 메시지의 복사본은 지정된 위치에서 일반 텍스트 파일로 만들어집니다. 메모장 또는 Outlook에서 메시지 파일을 볼 수 있으며 Exchange organization 내부 또는 외부의 다른 사서함 서버 또는 Edge 전송 서버에서 Replay 디렉터리를 사용하여 메시지 파일을 다시 제출할 수 있습니다.

시작하기 전에 알아야 할 사항은 무엇인가요?

  • 각 절차의 예상 완료 시간: 5분

  • 이러한 절차를 수행하려면 먼저 사용 권한을 할당받아야 합니다. 필요한 권한을 보려면 메일 흐름 권한 항목의 "큐" 항목을 참조하세요.

  • 배달 큐, 제출 큐 또는 연결할 수 없는 큐에서 메시지를 내보내려면 메시지가 일시 중단됨 상태여야 합니다. 활성 상태의 정상 큐의 경우 먼저 큐를 일시 중단한 다음 메시지를 일시 중단할 수 있습니다. 포이즌 메시지 큐의 메시지는 이미 Suspended 상태에 있습니다. 자세한 내용은 큐 일시 중단 및 큐에서 메시지 일시 중단을 참조하세요.

  • Exchange 도구 상자의 큐 뷰어를 사용하여 메시지를 내보낼 수는 없습니다. 그러나 큐 뷰어를 사용하여 Exchange 관리 셸을 사용하여 메시지를 내보내기 전에 메시지를 찾고, 식별하고, 일시 중단할 수 있습니다. 큐 뷰어에 대한 자세한 내용은 큐 뷰어를 참조하세요. 온-프레미스 Exchange 조직에서 Exchange 관리 셸을 여는 방법을 확인하려면 Exchange 관리 셸 열기를 참조하세요.

  • 메시지를 큐에서 내보내도 큐에서 해당 메시지가 제거되지는 않습니다. Replay 디렉터리를 사용하여 내보낸 메시지를 다시 제출하는 경우 중복된 메시지 배달을 방지하려면 큐에서 메시지를 제거해야 합니다. 자세한 내용은 큐에서 메시지 제거를 참조하세요.

  • 내보낸 메시지 파일의 대상 위치에 대한 다음 정보를 확인합니다.

    • 대상 폴더는 메시지를 내보내기 전에 존재해야 하며, 생성되지 않습니다. 전체 경로를 지정하지 않으면 파일이 현재 Exchange Management Shell 작업 디렉터리에 기록됩니다.
    • 경로는 Exchange 서버에 로컬이거나 원격 서버(\server\share)의 공유에 대한 UNC 경로일 수 있습니다.
    • 계정에 대상 폴더에 쓰기 권한이 있어야 합니다.
  • 내보낸 메시지 파일 이름에 대한 메시지의 InternetMessageID 속성 값을 사용하여 고유성을 보장합니다. 프로시저에는 파일 이름에 허용되지 않으므로 각진 대괄호(> 및 <)를 제거하는 단계가 포함됩니다. 또한 Outlook에서 파일을 쉽게 열거나 Replay 디렉터리를 사용하여 파일을 다시 제출할 수 있도록 .eml 파일 이름 확장명을 사용합니다.

  • 큐의 큐 및 메시지에 대한 ID 및 필터에 대한 자세한 내용은 다음 topics 참조하세요.

  • 이 항목의 절차에 적용할 수 있는 바로 가기 키에 대한 자세한 내용은 Exchange 관리 센터의 바로 가기 키을 참조하세요.

문제가 있습니까? Exchange의 Exchange Server 포럼에서 도움말 요청 | Exchange Server | 관리.

Exchange 관리 셸을 사용하여 큐에서 특정 메시지 내보내기

큐에서 특정 메시지를 내보내려면 다음 구문을 사용합니다.

Export-Message -Identity <MessageIdentity> | AssembleMessage -Path <FilePath>\<FileName>.eml

이 예제에서는 Mailbox01이라는 서버에서 다음 작업을 수행합니다.

  1. contoso.com 배달 큐를 일시 중단합니다.

  2. InternalMessageID 값이 1234인 큐의 메시지를 일시 중단합니다.

  3. 메시지의 복사본을 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"

Exchange 관리 셸을 사용하여 큐에서 모든 메시지 내보내기

큐에서 모든 메시지를 내보내고 각 메시지의 InternetMessageID 값을 파일 이름으로 사용하려면 다음 구문을 사용합니다.

Get-Message -Queue <QueueIdentity> -ResultSize Unlimited | ForEach-Object {$Temp=<Path>+$_.InternetMessageID+".eml"; $Temp=$Temp.Replace("<","_"); $Temp=$Temp.Replace(">","_"); Export-Message $_.Identity | AssembleMessage -Path $Temp}

이 예제에서는 Mailbox01이라는 서버에서 다음 작업을 수행합니다.

  1. contoso.com 배달 큐를 일시 중단합니다.
  2. 큐의 모든 메시지를 일시 중단합니다.
  3. 메시지의 복사본을 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}

Exchange 관리 셸을 사용하여 서버의 모든 큐에서 특정 메시지 내보내기

서버의 모든 큐에서 특정 메시지를 내보내고 각 메시지의 InternetMessageID 값을 파일 이름으로 사용하려면 다음 구문을 사용합니다.

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}

이 예제에서는 Mailbox01이라는 서버에서 다음 작업을 수행합니다.

  1. 서버의 모든 큐를 일시 중단합니다.
  2. 서버의 모든 큐에 있는 모든 메시지를 fabrikam.com 도메인의 보낸 사람으로부터 일시 중단합니다.
  3. 메시지의 복사본을 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}

Exchange 관리 셸을 사용하여 서버의 모든 큐에서 모든 메시지 내보내기

서버의 모든 큐에서 모든 메시지를 내보내고 각 메시지의 InternetMessageID 값을 파일 이름으로 사용하려면 다음 구문을 사용합니다.

Get-Message [-Server <ServerIdentity>] -ResultSize Unlimited | ForEach-Object {$Temp=<Path>+$_.InternetMessageID+".eml"; $Temp=$Temp.Replace("<","_"); $Temp=$Temp.Replace(">","_"); Export-Message $_.Identity | AssembleMessage -Path $Temp}

이 예제에서는 Mailbox01이라는 서버에서 다음 작업을 수행합니다.

  1. 서버의 모든 큐를 일시 중단합니다.
  2. 서버의 모든 큐에 있는 모든 메시지를 일시 중단합니다.
  3. 메시지의 복사본을 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}