在 Exchange 管理命令介面的佇列中尋找佇列和訊息

如同舊版 Exchange,您可以使用 Exchange Server 中的 Exchange 管理命令介面來檢視佇列和訊息的相關資訊,並使用該資訊對佇列和訊息採取動作。 一般而言,使用中的 Exchange 包含大量要傳遞的佇列和訊息,因此請務必瞭解如何識別您想要管理的佇列或訊息。

請注意,您也可以使用 Exchange 工具箱內的佇列檢視器來管理佇列和佇列中的郵件。 不過,Exchange 管理命令介面中的佇列和訊息檢視 Cmdlet 支援比佇列檢視器更容易篩選的屬性和篩選選項。 如需使用佇列檢視器的詳細資訊,請參閱佇列檢視器

另請記住,信箱伺服器和 Edge Transport Server 上 (傳輸服務) 佇列存在。 如需佇列和佇列中訊息的詳細資訊,請參閱 佇列和佇列中的訊息

佇列篩選參數

下表摘要說明佇列管理 Cmdlet 上可用的篩選參數。

指令程式 篩選參數 註解
Get-Queue Exclude
Filter
Identity
Include
伺服器
您可以使用 IncludeExclude 參數搭配相同命令中的其他篩選參數。
您無法在相同的命令中使用 IdentityFilter 參數。
Server參數會指定您要在其中執行命令的伺服器。 您無法在相同的命令中使用 伺服器 分識別參數,但您可以在相同的命令中搭配其他篩選參數使用 Server 參數。
Resume-Queue
Retry-Queue
Suspend-Queue
Identity
Filter
伺服器
您無法使用 Identity 參數搭配相同命令中的其他篩選參數。
Server參數會指定您要在其中執行命令的伺服器。 您可以在相同的命令中使用 ServerFilter 參數。
Get-QueueDigest Dag
Filter
Forest
伺服器
Site
您需要使用其中一個 Dag月臺伺服器樹系 參數,但無法在同一個命令中一起使用任何參數。
您可以使用 Filter 參數來搭配其他任何篩選參數。

佇列識別碼

Identity 參數使用基本語法 <Server>\ <Queue>。 一般而言,此值會唯一識別佇列,因此您無法搭配 Identity 參數使用 其他篩選參數。 例外狀況是Get-Queue Cmdlet,您可以在其中搭配Identity 參數使用IncludeExclude參數。

下表說明佇列管理 Cmdlet 上的 Identity 參數語 法。

Identity 參數值 描述
<Server>\<PersistentQueueName><PersistentQueueName> 指定或本機伺服器上的永續性佇列。
<PersistentQueueName>SubmissionUnreachablePoison
如需持續性佇列的詳細資訊,請參閱 佇列類型
<Server>\<NextHopDomain><NextHopDomain> 指定或本機伺服器上的傳遞佇列。
<NextHopDomain> 是佇列 NextHopDomain 屬性值中的佇列名稱。 例如,傳送連接器的位址空間、Active Directory 月臺的名稱或 DAG 的名稱。 如需詳細資訊,請參閱 NextHopSolutionKey
<Server>\<QueueInteger><QueueInteger> 指定或本機伺服器上的傳遞佇列。
<QueueInteger> 是指派給傳遞佇列或佇列資料庫中陰影佇列的唯一整數值。 不過,您必須執行 Get-Queue Cmdlet,才能在 IdentityQueueIdentity 屬性中尋找此值。
<Server>\Shadow\<QueueInteger>Shadow\<QueueInteger> 指定或本機伺服器上的陰影佇列。 如需陰影佇列和陰影備援的詳細資訊,請參閱Exchange Server中的陰影備援。
<Server>\** 指定或本機伺服器上的所有佇列。
注意 分識別是位置參數,這表示您可以指定值而不指定 -Identity 限定詞。 例如,下列命令會產生相同的結果:
Get-Queue -Identity *
Get-Queue *
Get-Queue

佇列 Cmdlet 上的篩選參數

您可以在所有佇列管理 Cmdlet 上使用 Filter 參數,根據佇列的屬性來識別一或多個佇列。 Filter參數會建立具有比較運算子的 OPath 篩選,以將命令限制為符合篩選準則的佇列。 您可以使用邏輯運算子 -and 來指定比對的多個條件。 以下是語法的一般範例:

Get-Queue -Filter "<Property1> -<ComparisonOperator> '<Value1>' -and <Property2> -<ComparisonOperator> '<Value2>'..."

如需可搭配 Filter 參數使用的佇列屬性完整清單,請參閱 佇列屬性

如需您可以搭配 Filter 參數使用的比較運算子清單,請參閱本主題中的 比較運算子,以在篩選佇列或訊息時使用 一節。

如需使用 Filter 參數來檢視和管理佇列的程式範例,請參閱 佇列的程式

包含和排除Get-Queue上的參數

您可以在Get-Queue Cmdlet 上單獨使用Include 和Exclude參數,搭配每個 othe,或搭配其他篩選參數來微調結果。 例如,您可以:

  • 排除空白佇列。

  • 排除外部目的地的佇列。

  • 包含具有特定 DeliveryType值的佇列。

IncludeExclude 參數使用以下佇列內容來篩選佇列:

描述 範例
DeliveryType 根據 DeliveryType 屬性來包含或排除佇列,該屬性會定義如何將訊息傳輸至下一個躍點。 有效值會在 NextHopSolutionKey 中描述。
您可以指定多個以逗號分隔的值。
傳回本機伺服器上的所有傳遞佇列,其中下一個躍點是裝載于本機伺服器上的傳送連接器,並已設定為智慧主機路由。
Get-Queue -Include SmartHostConnectorDelivery
Empty 包含或排除空白佇列。 空白佇列的 MessageCount 屬性中有值 0 傳回本機伺服器上包含訊息的所有佇列。
Get-Queue -Exclude Empty
External 包含或排除在NextHopCategory屬性中具有 值 External 的佇列。

外部佇列的 DeliveryType 值一律為以下任一項:

  • DeliveryAgent
  • DnsConnectorDelivery
  • NonSmtpGatewayDelivery
  • SmartHostConnectorDelivery

如需詳細資訊,請參閱 NextHopSolutionKey

傳回本機伺服器上的所有內部佇列。
Get-Queue -Exclude External
Internal 此值可包含或排除再 NextHopCategory 屬性中具有值 Internal 的佇列。 請注意,外部收件者的訊息在到達外部傳遞的閘道伺服器之前,可能需要多個內部躍點。 傳回本機伺服器上的所有內部佇列。
Get-Queue -Include Internal

請注意,您可以使用 Filter 參數複製 IncludeExclude 參數的功能。 例如,下列命令會產生相同的結果:

  • Get-Queue -Exclude Empty

  • Get-Queue -Filter "MessageCount -gt 0"

不過,如您所見, IncludeExclude 參數的語法更簡單且更容易記住。

Get-QueueDigest

Get-QueueDigest Cmdlet可讓您使用單一命令來檢視組織中部分或所有佇列的相關資訊。 具體來說, Get-QueueDigest 指令程式可讓您根據佇列在伺服器、DAG、Active Directory 站台或整個 Active Directory 樹系中的位置,來檢視佇列的相關資訊。

請注意,已訂閱 Edge Transport Server 上的佇列不會包含在結果中。 此外, Get-QueueDigest 可在 Edge Transport Server 上使用,但結果僅限於 Edge Transport Server 上的本機佇列。

注意事項

依預設,Get-QueueDigest 指令程式會顯示包含十封郵件以上的傳遞佇列,而且會是一到二分鐘之前的結果。 如需如何變更這些預設值的指示,請參閱 設定 Get-QueueDigest

下表描述 Get-QueueDigest Cmdlet 上可用的篩選和排序參數。

參數 描述
DagServerSite 這些參數互斥 (無法在相同的命令) 中使用,並設定 Cmdlet 的範圍。 您需要指定這些參數中的其中一個參數,或指定 Forest 參數。 在一般的情況下,您會使用伺服器、DAG 或 Active Directory 站台的名稱,不過您可以使用任何可唯一識別伺服器、DAG 或站台的值。 您可以指定多個伺服器、DAG 或站台,並以逗號加以分隔。
Forest 如果您不是使用 DagServerSite 參數,則必須使用此參數。 您不需要為此參數指定任何值。 藉由使用此參數,您可以從本機 Active Directory 樹系中的所有 Exchange 信箱伺服器取得佇列。 您無法使用此參數來檢視遠端 Active Directory 樹系中的佇列。
DetailsLevel Normal 是預設值。 結果中會傳回下列屬性:
  • QueueIdentity
  • ServerIdentity
  • MessageCount

Verbose 會傳回結果中的下列其他屬性:

  • DeferredMessageCount
  • LockedMessageCount*
  • IncomingRate
  • OutgoingRate
  • Velocity
  • NextHopDomain
  • NextHopCategory
  • NextHopConnector
  • DeliveryType*
  • 狀態
  • RiskLevel*
  • OutboundIPPool*
  • LastError
  • TlsDomain

None 會省略結果中 [ 詳細 資料] 資料行中的佇列名稱。

* 這些屬性是保留給內部 Microsoft 使用,不會在內部部署 Exchange 組織中使用。 如需此清單中所有屬性的詳細資訊,請參閱 佇列屬性

Filter 根據佇列 Cmdlet 上的 Filter 參數 一節中所述的佇列屬性來篩選佇列。 您可以使用佇列屬性主題中所述的任何可篩選隊 列屬性
GroupBy 將佇列結果分組。 您可以根據以下任一內容為結果分組:
  • DeliveryType
  • LastError
  • NextHopCategory
  • NextHopDomain
  • NextHopKey
  • 狀態
  • ServerName

依預設,系統會根據 NextHopDomain 為結果分組。 如需這些佇列屬性的相關資訊,請參閱 佇列屬性

ResultSize 將佇列結果限制為您指定的值。 系統會根據佇列中的郵件數目以遞減順序為佇列排序,並且會根據 GroupBy 參數指定的值分組。 預設值為 1000。 這代表依預設此命令會顯示前 1000 個根據 NextHopDomain 分組的佇例,並根據包含最多郵件的佇列到包含最少郵件的佇列的順序進行排序。
Timeout 此參數可指定作業逾時前的秒數。預設值是 00:00:10 或 10 秒。

此範例會傳回名為 Mailbox01、Mailbox02 和 Mailbox03 之伺服器上的所有非空白外部佇列。

Get-QueueDigest -Server Mailbox01,Mailbox02,Mailbox03 -Include External -Exclude Empty

郵件篩選參數

下表摘要說明訊息管理 Cmdlet 上可用的篩選參數。

指令程式 篩選參數 註解
Get-Message Filter
Identity
Queue
伺服器
您無法在同一個命令中使用Filter、IdentityQueue參數。
Server參數會指定您要在其中執行命令的伺服器。 您可以在相同的命令中使用 ServerFilter 參數。
Remove-Message
Resume-Message
Suspend-Message
Filter
Identity
伺服器
您需要使用 Identity 參數或 Filter 參數,但無法在相同的命令中使用這兩者。
Server參數會指定您要在其中執行命令的伺服器。 您可以在相同的命令中使用 ServerFilter 參數。
Redirect-Message 伺服器 此 Cmdlet 會從指定伺服器上的所有傳遞佇列清空作用中的訊息,因此 Server 是唯一可用的篩選參數。 如需詳細資訊,請 參閱重新導向佇列中的訊息
Export-Message Identity 這個參數並不是真正的篩選準則,因為它可唯一識別訊息。 若要識別此 Cmdlet 的多個訊息,請使用 Get-Message 並將結果傳送至 Export-Message。 如需詳細資訊和範例,請參閱 從佇列匯出訊息

郵件識別碼

訊息管理 Cmdlet 上的 Identity 參數可唯一識別一或多個佇列中的訊息,因此您無法使用任何其他訊息篩選參數。 Identity參數會使用基本語法 <Server>\<Queue>\<MessageInteger>

下表描述 您可以在訊 息管理 Cmdlet 上搭配 Identity 參數使用的語法。

**身分識別參數值 描述**
<Server>\<Queue>\<MessageInteger><Queue>\<MessageInteger> 指定或本機伺服器上特定佇列中的訊息。

<Queue> 是佇列的身分識別,如 佇列 身分識別一節中所述:

  • 持續佇列名稱
  • 傳遞佇列名稱
  • 佇列整數
  • 陰影佇列識別碼

<MessageInteger> 是第一次進入伺服器上的佇列資料庫時指派給訊息的唯一整數值。 如果要將郵件傳送給需要多個佇列的多位收件者,該郵件的所有副本在佇列資料庫的所有佇列中均擁有相同的整數值。 不過,您必須執行 Get-Message Cmdlet,才能在 IdentityMessageIdentity 屬性中尋找此值。

<Server>\*\<MessageInteger>*\<MessageInteger><MessageInteger> 指定或本機伺服器上佇列資料庫中所有佇列中訊息的所有複本。

訊息 Cmdlet 上的篩選參數

您可以使用 Filter 參數搭配 Get-MessageRemove-MessageResume-MessageSuspend-Message Cmdlet,根據訊息的屬性來識別一或多個訊息。 Filter參數會建立具有比較運算子的 OPath 篩選,以將命令限制為符合篩選準則的訊息。 您可以使用邏輯運算子 -and 來指定比對的多個條件。 以下是語法的一般範例:

Get-Message -Filter "<Property1> -<ComparisonOperator> '<Value1>' -and <Property2> -<ComparisonOperator> '<Value2>'..."

如需可搭配 Filter 參數使用的訊息屬性完整清單,請參閱 訊息屬性) 。

如需您可以搭配 Filter 參數使用的比較運算子清單,請參閱本主題中的 比較運算子,以在篩選佇列或訊息時使用 一節。

如需使用 Filter 參數來檢視和管理訊息的程式範例,請參閱 佇列中訊息的程式

Queue 參數

Queue參數只能在Get-Message Cmdlet 上使用。 您可以使用此參數來取得特定佇列中的所有訊息,或使用萬用字元 (*) 從多個佇列取得所有訊息。 當您使用 Queue 參數時,請使用佇列身分識別格式 <Server>\<Queue> ,如本主題的 佇列身分識別 一節中所述。

在篩選佇列或郵件時可使用的比較運算子

在使用 Filter 參數建立佇列或郵件篩選運算式時,您需要針對要比對的內容值加入比較運算子。 您可以使用的比較運算子,以及下表描述每個運算子函式的方式。 對於所有運算子來說,比較的值不區分大小寫。

運算子 函數 程式碼範例
-eq 指定值的完全相符。 顯示狀態為 [重試] 的所有佇列:
Get-Queue -Filter "Status -eq 'Retry'"
顯示狀態為 [重試] 的所有訊息:
Get-Message -Filter "Status -eq 'Retry'"
-ne 不符合指定的值。 顯示所有沒有作用中狀態的佇列:
Get-Queue -Filter "Status -ne 'Active'"
顯示所有沒有作用中狀態的訊息:
Get-Message -Filter "Status -ne 'Active'"
-gt 大於指定的整數或日期/時間值。 顯示目前包含超過 1,000 則訊息的佇列:
Get-Queue -Filter "MessageCount -gt 1000"
顯示目前重試計數超過 3 的訊息:
Get-Message -Filter "RetryCount -gt 3"
-ge 大於或等於指定的整數或日期/時間值。 顯示目前包含 1,000 個或更多訊息的佇列:
Get-Queue -Filter "MessageCount -ge 1000"
顯示目前重試計數為 3 或以上的訊息:
Get-Message -Filter "RetryCount -ge 3"
-lt 小於指定的整數或日期/時間值。 顯示目前包含少於 1,000 則訊息的佇列:
Get-Queue -Filter "MessageCount -lt 1000"
顯示 SCL 小於 6 的訊息:
Get-Message -Filter "SCL -lt 6"
-le 小於或等於指定的整數或日期/時間值。 顯示目前包含 1,000 個或更少訊息的佇列:
Get-Queue -Filter "MessageCount -le 1000"
顯示 SCL 為 6 或以下的訊息:
Get-Message -Filter "SCL -le 6"
-like 包含指定的文字。 您必須在文字字串中包含萬用字元 (*) 。 顯示具有任何 SMTP 網域目的地的佇列,其結尾為 Contoso.com:
Get-Queue -Filter "Identity -like '*contoso.com'"
顯示主旨包含「支付日貸款」文字的訊息:
Get-Message -Filter "Subject -like '*payday loan*'"

您可以使用邏輯運算子 來指定評估多個運算式的篩選準則 -and 。 佇列或訊息必須符合要包含在結果中的所有篩選準則。

此範例會顯示目的地是任何以 Contoso.com 為結尾的 SMTP 網域名稱而且目前包含超過 500 封郵件之佇列的清單。

Get-Queue -Filter "Identity -like '*contoso.com*' -and MessageCount -gt 500"

本範例會顯示從 contoso.com 網域中 SCL 值大於 5 的任何電子郵件地址傳送的郵寄清單。

Get-Message -Filter "FromAddress -like '*Contoso.com*' -and SCL -gt 5"

進階分頁參數

當您使用 Exchange 管理命令介面來檢視佇列中的佇列和訊息時,您的查詢會一次擷取一頁資訊。 進階分頁參數會控制結果的大小,以及顯示結果的順序。 所有進階分頁參數都是選擇性的,不一定能搭配 Get-QueueGet-Message Cmdlet 上的其他篩選參數使用。 如果未指定任何進階分頁參數,則查詢會以識別碼的遞增順序傳回結果。

根據預設,當您指定排序次序時,一律會包含 Identity 屬性並以遞增順序排序,因為其他可用的佇列或訊息屬性不是唯一的。

您可以使用 BookmarkIndexBookmarkObject 參數來標記已排序結果中的位置。 如果當您擷取下一頁結果時,書簽物件已不存在,則結果會從最接近書簽的專案開始,這取決於您指定的排序次序。

下表說明進階分頁參數。

參數 描述
BookmarkIndex 指定結果中顯示結果開始的位置。 此參數的值是總結果中以 1 為基底的索引。 如果值小於或等於零,則會傳回第一個完整的結果頁面。 如果值設為 Int.MaxValue,則會傳回最後一個完整的結果頁面。
您無法搭配 BookmarkObject 參數使用此參數。
BookmarkObject 指定結果中顯示的結果開始位置的 物件。 如果指定書籤物件,則會將該物件當成搜尋開始點。 根據擷取 SearchForward 參數的值而定,該物件之前或之後的資料列 () 。
您無法搭配 BookmarkIndex 參數使用此參數。
IncludeBookmark 指定是否要在結果中包含書簽物件。 有效值為:
$true:結果中包含書簽物件。 這是預設值。
$false:結果中未包含書簽物件。 當您針對有限的結果大小執行查詢,然後將最後一個專案指定為下一個查詢的書簽時,請使用此值。 這可防止書簽物件包含在這兩個結果中。
ResultSize 指定每個頁面要顯示的結果數目。 如果您不指定值,則會使用 1,000 個物件的預設結果大小。 Exchange 會將結果限制為 250,000。
ReturnPageInfo 這是隱藏的參數。 它會傳回總結果數及目前頁面之第一個項目索引的相關資訊。 預設值為 $false
SearchForward 指定搜尋的方向。
指定的書簽:在相對於書簽索引或物件的結果中向前或向後搜尋。
未指定書簽:在結果中第一個或最後一個專案的結果中向前或向後搜尋。
有效值為:
$true:從結果中的第一個專案或指定的書簽向前搜尋。 如果書簽之外沒有任何結果,查詢會傳回結果的最後一個完整頁面。 這是預設值。
$false:從結果中的最後一個專案向後搜尋,或從指定的書簽進行搜尋。 如果超過書簽的完整結果頁面少於一頁,則查詢會傳回結果的第一個完整頁面。
SortOrder 指定控制結果排序次序的訊息屬性。 指定屬性的順序表示優先順序的遞減順序 (結果會依第一個屬性排序,然後這些結果會依第二個屬性排序,而在) 上排序。
此參數會使用語法: <+|-><Property1>,<+|-><Property2>... ,其中 + 會以遞增順序排序屬性,並 - 以遞減順序排序屬性。
如果您未使用此參數,結果會依 Identity 屬性的 遞增順序排序。

此範例示範如何在查詢中使用進階分頁參數。 命令會傳回指定伺服器上的前 500 則訊息。 結果會先依寄件者位址的遞增順序排序,然後依訊息大小遞減順序排序。

Get-Message -Server mailbox01.contoso.com -ResultSize 500 -SortOrder +FromAddress,-Size

本範例會以指定的排序次序傳回指定伺服器上的前 500 則訊息、設定書簽物件、從結果中排除書簽物件,然後以相同的排序次序擷取接下來的 500 則訊息。

  1. 執行下列命令以擷取結果的第一頁。

    $Results=Get-Message -Server mailbox01.contoso.com -ResultSize 500 -SortOrder +FromAddress,-Size
    
  2. 若要設定書簽物件,請執行下列命令,將第一頁的最後一個專案儲存至變數。

    $Temp=$Results[$results.length-1]
    
  3. 若要在指定的伺服器上擷取接下來的 500 個物件,並排除書簽物件,請執行下列命令。

    Get-Message -Server mailbox01.contoso.com -BookmarkObject:$Temp -IncludeBookmark $false -ResultSize 500 -SortOrder +FromAddress,-Size