Exchange 관리 셸을 사용한 큐 관리

 

적용 대상: Exchange Server 2010 SP2, Exchange Server 2010 SP3

마지막으로 수정된 항목: 2015-03-09

이 항목에서는 Exchange 관리 셸의 cmdlet 및 매개 변수 집합을 사용하여 쿼리를 만들고 결과를 검색하고 수정 작업을 수행하는 방법에 대해 설명합니다. 큐 작업에 대한 자세한 내용과 모니터링 및 문제 해결에 이 작업을 사용하는 방법에 대한 자세한 내용은 전송 큐 이해를 참조하십시오.

MicrosoftExchange Server 2010에서는 셸을 사용하여 관리 작업과 구성 작업을 수행하고 스크립트를 만들어 작업을 자동화할 수 있습니다. 또한 셸을 사용하여 서버에 있는 큐 및 이러한 큐에 있는 메시지에 대한 정보를 보고, 큐와 메일 항목에 대한 관리 작업을 수행할 수도 있습니다. 이러한 작업은 메일 흐름 관련 문제를 해결하고 스팸을 식별하는 데 유용합니다. 셸을 사용하는 방법에 대한 자세한 내용은 Exchange 2010(Exchange 관리 셸)에서 PowerShell 사용을 참조하십시오.

큐와 관련된 관리 작업에 대한 자세한 내용은 전송 큐 관리를 참조하십시오.

목차

큐 및 메시지 관리

큐 cmdlet

큐 작업 매개 변수 집합

큐 및 메시지 관리

큐 작업은 다음 두 가지 범주로 그룹화됩니다.

  • 보기 작업은 서버에서 대기 중인 큐와 메시지를 표시하고, 데이터를 표시할 때 이러한 데이터를 그룹화하고 정렬하는 방법을 선택할 수 있습니다.

  • 수정 작업은 큐와 메시지 상태를 변경합니다.

두 가지 유형의 작업 모두 RPC(원격 프로시저 호출)를 사용하여 전송 작업자 프로세스에 연결하여 데이터에 액세스합니다.

기본적으로 큐 뷰어는 큐 뷰어가 작업을 실행하기 위해 연결하는 서버에 있는 대기 중인 데이터베이스에 중점을 둡니다. 그러나 큐 뷰어 작업을 실행하는 서버가 아닌 다른 서버에 연결할 수 있습니다.

Exchange 2010 전송 프로세스에 대한 자세한 내용은 전송 파이프라인 이해를 참조하십시오. 셸을 사용하여 큐와 메시지를 보는 방법에 대한 자세한 내용은 큐 보기대기 중인 메시지 속성 보기를 참조하십시오.

맨 위로 이동

큐 cmdlet

다음 표에는 셸에서 큐 및 큐에 있는 메시지를 관리하는 데 사용할 수 있는 cmdlet이 나와 있습니다. 각 cmdlet을 사용하는 방법에 대한 자세한 내용은 자세한 내용 열에 있는 도움말 항목을 참조하십시오.

큐 cmdlet

Cmdlet 용도 자세한 내용

Export-Message

이 cmdlet은 관리자가 지정한 파일 경로에 메시지의 복사본을 저장합니다.

Export-Message

큐에서 메시지 내보내기

Get-Message

이 cmdlet은 배달을 위해 현재 대기 중인 메시지에 대한 세부 정보를 표시합니다. Get-Message cmdlet을 사용하여 메시지 집합을 검색한 다음 그 결과를 다른 메시지 관리 cmdlet 중 하나에 파이프할 수 있습니다.

Get-Message

대기 중인 메시지 속성 보기

Get-Queue

이 cmdlet은 전송 서버의 큐에 대한 구성 세부 정보를 표시합니다. Get-Queue cmdlet을 사용하여 큐 집합을 검색한 다음 그 결과를 다른 큐 관리 cmdlet 중 하나에 파이프할 수 있습니다.

Get-Queue

큐 보기

Remove-Message

이 cmdlet은 큐에서 메시지를 삭제합니다. NDR(배달 못 함 보고서)을 보낼지 여부를 선택할 수 있습니다.

Remove-Message

큐에서 메시지 제거

Resume-Message

이 cmdlet은 이전에 일시 중단된 메시지 배달을 다시 시작합니다. 또한 Resume-Message cmdlet을 사용하여 포이즌 메시지 큐에 있는 메시지를 전송 큐에 다시 전송하여 분류기가 다시 처리하도록 할 수 있습니다.

Resume-Message

메시지 다시 시작

큐에 있는 메시지 다시 전송

Resume-Queue

이 cmdlet은 이전에 일시 중단된 큐의 메시지 배달을 다시 시작합니다.

Resume-Queue

큐 다시 시작

Retry-Queue

이 cmdlet은 현재 Retry 상태에 있는 큐에 대한 연결을 강제로 시도합니다. 이 연결 시도는 다음 예정된 다시 시도에 우선합니다. 또한 Retry-Queue cmdlet을 Resubmit 매개 변수와 함께 사용하여 배달 큐 또는 연결할 수 없는 큐의 메시지를 전송 큐로 보내어 분류기가 다시 처리하도록 할 수 있습니다.

Retry-Queue

큐 다시 시도

큐에 있는 메시지 다시 전송

Suspend-Message

이 cmdlet은 Exchange 2010 전송 서버의 큐에 있는 메시지의 배달을 일시 중단합니다.

Suspend-Message

메시지 일시 중단

Suspend-Queue

이 cmdlet은 Exchange 2010 전송 서버의 큐에 대한 보내기 활동을 일시 중단합니다.

Suspend-Queue

큐 일시 중단

맨 위로 이동

큐 작업 매개 변수 집합

큐 작업은 여러 매개 변수 집합을 지원합니다. 이러한 매개 변수 집합에는 Identity, Filter 및 Queue가 있습니다. Identity, Filter 및 Queue 매개 변수 집합은 한 명령에서 조합할 수 없습니다. Queue 매개 변수 집합은 메시지 명령에만 사용할 수 있습니다.

또한 셸에서 사용할 수 있는 고급 페이징 매개 변수를 Identity, Filter 및 Queue 매개 변수 집합과 함께 사용할 수도 있습니다. 고급 페이징 매개 변수는 Get-MessageGet-Queue cmdlet에 사용하여 결과 집합을 정렬하고 표시하는 방법을 제어합니다. 고급 페이징 매개 변수는 이 항목 뒷부분에 나오는 "고급 페이징 매개 변수"의 표에서 자세히 설명합니다.

메시지나 큐를 수정하는 명령을 사용할 경우 Identity, Filter 또는 Queue 매개 변수 집합을 사용해야 합니다. 매개 변수를 제공하지 않으면 Get-MessageGet-Queue cmdlet은 로컬 서버에 있는 모든 메시지 또는 큐 개체를 표시합니다.

큐 또는 메시지 쿼리에 대한 결과 집합에 25만 개 이상의 항목이 포함되어 있는 경우 오류가 발생하고 필터를 적용하여 결과 수를 줄이라는 메시지가 표시됩니다.

Identity 매개 변수

Identity 매개 변수는 보거나 조치를 취할 특정 메시지 또는 큐를 알고 있는 경우 사용합니다. ID로 검색하는 것이 동일한 쿼리를 필터로 공식화하는 것보다 빠릅니다.

서버 이름은 호스트 이름이나 FQDN(정규화된 도메인 이름)으로 표현할 수 있습니다. 원격 서버의 이름을 ID의 일부로 입력하면 해당 서버에 대한 RPC 연결을 시작하여 해당 서버에서 큐를 쿼리할 수 있습니다. 서버 이름을 사용하지 않는 경우 로컬 호스트가 묵시적으로 사용됩니다.

수정 작업에 ID를 제공하는 경우 식별되는 개체는 완전히 정의된 고유한 개체여야 합니다. ID가 명시적이지 않으면 작업이 수행되지 않습니다. ID에서 서버 부분을 생략하면 로컬 컴퓨터를 사용하는 것으로 간주됩니다.

Get-Queue 또는 Get-Message cmdlet의 일부로 Identity 매개 변수를 사용하는 경우 Identity 매개 변수는 와일드카드 식의 사용을 지원합니다.

큐 ID

지속성 큐에는 고유 이름이 있어 이름을 통해 지정할 수 있습니다. 배달 큐에는 고유한 데이터베이스 ID가 할당됩니다. 이 데이터베이스 ID를 사용하여 큐를 지정하거나 배달 대상 이름을 사용하여 큐를 지정할 수 있습니다. 고유한 데이터베이스 ID를 지정하여 큐에서 작업을 수행하려면 먼저 Get-Queue cmdlet을 실행해야 합니다. 데이터베이스 ID는 결과에 반환됩니다. 큐에 허용되는 ID 형식은 다음 표에 나와 있습니다.

큐 ID 형식

큐 ID 형식 용도

Server\QueueJetID(Int64)

배달 큐에 대한 완전한 고유 ID입니다.

\QueueJetID

로컬 서버에 있는 큐의 ID입니다. 서버 이름은 생략됩니다. 따라서 로컬 서버가 묵시적으로 사용됩니다.

Server\*

지정된 서버에 있는 모든 큐입니다.

Server\NextHopDomain

특정 원격 도메인으로 배달할 메시지를 갖고 있는 지정된 서버에 있는 큐입니다.

\NextHopDomain

특정 도메인으로 보낼 메시지를 갖고 있으며 로컬 서버에 있는 큐입니다.

Server\Poison

지정된 서버에 있는 포이즌 메시지 큐입니다.

Server\Submission

분류기에서 처리되기를 대기하고 있는 항목을 포함한 큐입니다.

Server\Unreachable

라우트할 수 없는 항목을 포함하고 지정된 서버에 있는 큐입니다.

다음 코드는 Get-Queue cmdlet에서 큐 ID를 사용하는 방법에 대한 예입니다. 이 예에서는 Contoso.com으로 끝나는 SMTP 도메인 이름에 배달할 메시지를 포함하고 있는 모든 큐 목록을 반환합니다. 또한 결과 집합의 형식을 세부 목록으로 지정합니다.

Get-Queue -Identity Server\*Contoso.com | format-list

메시지 ID

메시지 ID는 고유 데이터베이스 메일 항목과 큐 ID의 합성입니다. 메시지가 대기 중인 ESE(Extensible Storage Engine) 데이터베이스(이전의 JET)로 들어올 때 해당 메시지에는 정수 형식으로 ID가 할당되며, 이 정수가 큐 ID에 덧붙여져 메시지 ID를 생성하게 됩니다.

데이터베이스 ID를 지정하여 메시지에서 작업을 수행하려면 먼저 Get-Message cmdlet을 실행해야 합니다. ID는 결과에 반환됩니다. 원격 서버에 연결하려면 서버 이름을 메시지 ID의 일부로 넣을 수 있습니다. 서버 이름을 생략하면 로컬 컴퓨터를 사용하는 것으로 간주됩니다.

둘 이상의 받는 사람에게 전송되는 메시지는 여러 큐에 있을 수 있습니다. 와일드카드 문자를 사용하여 메시지가 라우트된 모든 큐에서 메시지를 찾도록 지정할 수 있습니다. 다음 표에서는 유효한 메시지 ID의 예를 제공합니다.

메시지 ID 형식

메시지 ID 형식 용도

Server\QueueJetId\MessageJetID

큐에 있는 메시지의 전체 명칭입니다.

Server\Poison\MessageJetID

포이즌 메시지 큐에 있는 메시지입니다.

MessageJetID

이 데이터베이스 ID를 가지며, 로컬 서버에 있는 큐에 라우트되는 모든 메시지입니다. 하나의 메시지가 여러 큐에 라우트됩니다.

Server\*\MessageJetID

이 데이터베이스 ID를 가지며, 지정된 서버에 있는 큐에 라우트되는 모든 메시지입니다.

다음 코드는 Get-Message cmdlet에서 메시지 ID를 사용하는 방법에 대한 예입니다. 이 예에서는 지정된 ID를 갖고 지정된 서버의 큐에 있는 모든 메시지의 목록을 반환합니다. 또한 이 예에서는 결과 집합을 세부 목록 형식으로 지정합니다.

Get-message -Identity Server\*\1234 | Format-List

Filter 매개 변수

큐 작업은 Filter 매개 변수를 지원하므로 큐 및 메시지의 검색 조건을 지정할 수 있습니다. 큐와 메시지 속성이 필터 조건으로 사용됩니다. 필터를 만들어 제한된 큐 또는 메시지 집합을 표시합니다. 모니터링할 큐 및 메시지를 찾은 다음 각 개체에 대한 속성 정보를 볼 수 있습니다. 이 정보는 메일 흐름 문제를 해결할 때 유용합니다.

Filter 매개 변수를 사용하여 논리 연산자와 관계형 연산자가 있는 식을 제공함으로써 필터 조건을 충족하는 큐 또는 메시지 개체만 표시되도록 합니다. -and 논리 연산자를 사용하여 여러 가지 조건을 충족하는 결과를 볼 수 있습니다. -and 연산자를 사용하면 지정된 모든 식 조건과 일치하는 개체만 표시됩니다. 메시지 또는 큐 속성의 하위 집합은 필터 조건을 지정하는 데 사용됩니다. 속성을 지정하는 경우 이 속성은 쿼리하는 개체에 대해 유효한 속성이어야 하며, 대조할 값은 올바른 구문을 사용하여 표현해야 합니다. 속성 값이 단일 정수 이외의 값으로 표현되는 경우 값을 따옴표로 묶어야 합니다.

Server 매개 변수는 Filter 매개 변수와 함께 명령에 포함할 수 있습니다. 해당 서버에 있는 큐와 메시지를 쿼리하고 결과 집합을 검색하기 위해 Server 매개 변수를 사용하여 RPC를 사용해 연결할 서버의 호스트 이름이나 FQDN을 지정합니다.

필터링에 사용할 수 있는 속성, 이러한 속성에 대한 올바른 구문 및 지원되는 연산자에 대한 자세한 내용은 다음 항목을 참조하십시오.

Queue 매개 변수

Queue 매개 변수는 메시지 명령에서만 사용할 수 있습니다. 이 매개 변수를 사용하여 메시지를 검색할 큐의 ID를 지정합니다. 큐가 지정되면 해당 큐에 있는 모든 메시지가 검색됩니다. 필터 식을 사용하지 않고도 특정 큐에 있는 모든 메시지를 검색할 수 있습니다. 와일드카드 문자를 사용하여 여러 큐에 있는 메시지를 검색할 수 있습니다.

메시지 명령에서 Queue 매개 변수를 사용할 경우 이 항목의 앞부분에 있는 "큐 ID"의 표에 있는 큐 ID 형식을 사용합니다. 다음 코드 예에서는 Queue 매개 변수를 Get-Message cmdlet에서 사용하는 방법을 보여 줍니다. 이 예에서는 지정된 서버에 있고 SMTP 도메인 Contoso.com에 배달하기 위해 대기 중인 메시지만 포함하는 결과 집합을 생성합니다.

Get-message -Queue Server\Contoso.com

고급 페이징 매개 변수

현재 메일 흐름에 따라 큐 및 메시지에 대한 쿼리는 큰 개체 집합을 반환할 수 있습니다. 고급 페이징 매개 변수를 사용하여 쿼리 결과를 검색하고 표시하는 방법을 제어할 수 있습니다.

셸을 사용하여 큐 및 큐에 있는 메시지를 보는 경우 쿼리는 한 번에 한 페이지의 정보만 검색합니다. 고급 페이징 매개 변수는 결과 집합의 크기를 제어하고 결과를 정렬하는 데도 사용할 수 있습니다. 모든 고급 페이징 매개 변수는 선택이며, Get-QueueGet-Message cmdlet에서 사용할 수 있는 모든 매개 변수 집합 중 하나와 조합하여 사용할 수 있습니다. 고급 페이징 매개 변수를 지정하지 않으면 쿼리는 ID 오름차순으로 결과를 반환합니다.

정렬 순서가 지정되면 메시지 ID 속성은 기본적으로 항상 포함되며 오름차순으로 정렬됩니다. 이는 기본 순서 지정 관계입니다. 정렬 순서에 포함할 수 있는 다른 속성은 고유하지 않기 때문에 메시지 ID 속성이 포함됩니다. 메시지 ID 속성을 정렬 순서에 명시적으로 포함시켜면 결과에서 내림차순으로 정렬된 메시지 ID를 표시하도록 지정할 수 있습니다.

BookmarkIndexBookmarkObject 매개 변수를 사용하여 정렬된 결과 집합에서의 위치를 표시할 수 있습니다. 다음 결과 페이지 검색에서 책갈피 개체가 더 이상 존재하지 않으면 기본 순서 지정 관계가 책갈피에 가장 가까운 개체로 결과 집합이 시작되도록 합니다. 가장 가까운 개체는 지정된 정렬 순서에 따라 달라집니다.

다음 표에서는 고급 페이징 매개 변수에 대해 설명합니다.

고급 페이징 매개 변수

매개 변수 설명

BookmarkIndex

BookmarkIndex 매개 변수는 결과 집합에서 표시되는 결과가 시작되는 위치를 지정합니다. BookmarkIndex 매개 변수의 값은 전체 결과 집합에서 1부터 시작하는 인덱스입니다. 값이 0보다 작거나 같은 경우 첫 번째 완전한 결과 페이지가 반환됩니다. 값이 Int.MaxValue로 설정된 경우 마지막 완전한 결과 페이지가 반환됩니다.

BookmarkObject

BookmarkObject 매개 변수는 결과 집합에서 표시되는 결과가 시작되는 개체를 지정합니다. 책갈피 개체를 지정하면 해당 개체는 검색을 시작하는 지점으로 사용됩니다. SearchForward 매개 변수의 값에 따라 해당 개체의 앞이나 뒤에 나오는 행이 검색됩니다. BookmarkObject 매개 변수 및 BookmarkIndex 매개 변수를 단일 쿼리에서 결합할 수 없습니다.

IncludeBookmark

IncludeBookmark 매개 변수는 결과 집합에 책갈피 개체를 포함할지 여부를 지정합니다. 기본적으로 이 값은 $true로 설정되어 책갈피 개체가 결과 집합에 포함됩니다. 제한된 결과 크기로 쿼리를 실행한 다음, 해당 결과 집합에 있는 마지막 항목을 다음 쿼리에 대한 책갈피로 지정하는 경우가 있습니다. 이 경우 개체가 두 개의 결과 집합 모두에 포함되지 않도록 IncludeBookmark$false로 지정할 수 있습니다.

ResultSize

ResultSize 매개 변수는 페이지당 표시할 결과의 수를 지정합니다. 값을 지정하지 않으면 기본 결과 크기인 1,000개의 개체가 사용됩니다. Exchange 2010에서는 결과 집합이 250,000으로 제한됩니다.

ReturnPageInfo

ReturnPageInfo 매개 변수는 숨겨진 매개 변수입니다. 이 매개 변수는 총 결과 수에 대한 정보와 현재 페이지의 첫 번째 개체의 인덱스를 반환합니다. 기본값은 $false입니다.

SearchForward

SearchForward 매개 변수는 결과 집합에서 앞으로 검색할지 또는 뒤로 검색할지 여부를 지정합니다. 이 매개 변수는 결과 집합이 반환되는 순서에 영향을 미치지 않습니다. 책갈피 인덱스 또는 개체를 기준으로 검색 방향을 결정합니다. 책갈피 인덱스 또는 개체가 지정되지 않으면 SearchForward 매개 변수에 따라 결과 집합의 첫 번째 개체부터 검색할지 마지막 개체부터 검색할지 여부가 결정됩니다.

이 매개 변수에 대한 기본값은 $true입니다. SearchForward 매개 변수가 $true로 설정되고 책갈피가 지정되면 쿼리는 해당 책갈피부터 앞으로 검색합니다. 이 구성을 사용하는 경우 책갈피 이후 검색 결과가 없으면 쿼리는 결과의 마지막 전체 페이지를 반환합니다.

SearchForward 매개 변수가 $false로 설정되고 책갈피가 지정되면 쿼리는 해당 책갈피부터 뒤로 검색합니다. 이 구성을 사용하는 경우 책갈피 이후 반환되는 검색 결과가 전체 페이지 분량이 되지 않으면 쿼리는 결과의 첫 번째 전체 페이지를 반환합니다.

SortOrder

SortOrder 매개 변수는 결과 집합의 정렬 순서를 제어하는 데 사용되는 메시지 속성의 배열을 지정합니다. 정렬 순서 속성은 우선 순위의 내림차순으로 지정됩니다. 각 속성은 쉼표로 구분하며, 오름차순으로 정렬하려면 더하기 기호(+)를 추가하고 내림차순으로 정렬하려면 빼기 기호(-)를 추가합니다.

이 매개 변수를 사용하여 정렬 순서를 명시적으로 지정하지 않으면 쿼리와 일치하는 레코드가 표시되며 레코드는 각 개체 유형에 대한 ID 필드에 따라 정렬됩니다. 정렬 순서가 명시적으로 지정되지 않으면 결과는 항상 ID의 오름차순으로 정렬됩니다.

다음 코드 예에서는 쿼리에서 고급 페이징 매개 변수를 사용하는 방법을 보여 줍니다. 이 예에서 명령은 지정된 서버에 연결하여 500개의 개체를 포함하는 결과 집합을 검색합니다. 결과는 정렬된 순서로 표시되는데, 먼저 보낸 사람 주소의 오름차순으로 정렬된 다음 메시지 크기의 내림차순으로 정렬됩니다.

Get-message -Server Exchange.Contoso.com -ResultSize 500 -SortOrder +FromAddress,-Size

이어지는 페이지를 보려면 결과 집합에서 검색되는 마지막 개체에 대한 책갈피를 설정하고 추가 쿼리를 실행할 수 있습니다. 이 절차는 셸의 스크립팅 기능을 사용하여 수행해야 합니다.

다음 예에서는 스크립팅을 사용하여 결과의 첫 번째 페이지를 검색하고 책갈피 개체를 설정하고 결과 집합에서 책갈피 개체를 제외한 다음 지정된 서버에서 다음 500개 개체를 검색합니다.

  1. 셸을 열고 다음 명령을 입력하여 결과의 첫 번째 페이지를 검색합니다.

    $Results=Get-message -Server Exchange.Contoso.com -ResultSize 500 -SortOrder +FromAddress,-Size
    
  2. 책갈피 개체를 설정하려면 다음 명령을 입력하여 첫 번째 페이지의 마지막 요소를 변수에 저장합니다.

    $temp=$results[$results.length-1]
    
  3. 지정된 서버에서 다음 500개의 개체를 검색하고 책갈피 개체를 제외하려면 다음 명령을 입력합니다.

    Get-message -Server Exchange.Contoso.com -BookmarkObject:$temp -IncludeBookmark $False -ResultSize 500 -SortOrder +FromAddress,-Size
    

맨 위로 이동

 © 2010 Microsoft Corporation. 모든 권리 보유.