在 Exchange 管理命令介面的佇列中尋找佇列和訊息
如同舊版 Exchange,您可以使用 Exchange Server 中的 Exchange 管理命令介面來檢視佇列和訊息的相關資訊,並使用該資訊對佇列和訊息採取動作。 一般而言,使用中的 Exchange 包含大量要傳遞的佇列和訊息,因此請務必瞭解如何識別您想要管理的佇列或訊息。
請注意,您也可以使用 Exchange 工具箱內的佇列檢視器來管理佇列和佇列中的郵件。 不過,Exchange 管理命令介面中的佇列和訊息檢視 Cmdlet 支援比佇列檢視器更容易篩選的屬性和篩選選項。 如需使用佇列檢視器的詳細資訊,請參閱佇列檢視器。
另請記住,信箱伺服器和 Edge Transport Server 上 (傳輸服務) 佇列存在。 如需佇列和佇列中訊息的詳細資訊,請參閱 佇列和佇列中的訊息。
佇列篩選參數
下表摘要說明佇列管理 Cmdlet 上可用的篩選參數。
指令程式 | 篩選參數 | 註解 |
---|---|---|
Get-Queue |
Exclude Filter Identity Include 伺服器 |
您可以使用 Include 和 Exclude 參數搭配相同命令中的其他篩選參數。 您無法在相同的命令中使用 Identity 和 Filter 參數。 Server參數會指定您要在其中執行命令的伺服器。 您無法在相同的命令中使用 伺服器 和 身 分識別參數,但您可以在相同的命令中搭配其他篩選參數使用 Server 參數。 |
Resume-Queue Retry-Queue Suspend-Queue |
Identity Filter 伺服器 |
您無法使用 Identity 參數搭配相同命令中的其他篩選參數。 Server參數會指定您要在其中執行命令的伺服器。 您可以在相同的命令中使用 Server 和 Filter 參數。 |
Get-QueueDigest |
Dag Filter Forest 伺服器 Site |
您需要使用其中一個 Dag、 月臺、 伺服器或 樹系 參數,但無法在同一個命令中一起使用任何參數。 您可以使用 Filter 參數來搭配其他任何篩選參數。 |
佇列識別碼
Identity 參數使用基本語法 <Server>\ <Queue>。 一般而言,此值會唯一識別佇列,因此您無法搭配 Identity 參數使用 其他篩選參數。 例外狀況是Get-Queue Cmdlet,您可以在其中搭配Identity 參數使用Include和Exclude參數。
下表說明佇列管理 Cmdlet 上的 Identity 參數語 法。
Identity 參數值 | 描述 |
---|---|
<Server>\<PersistentQueueName> 或 <PersistentQueueName> |
指定或本機伺服器上的永續性佇列。 <PersistentQueueName> 為 Submission 、 Unreachable 或 Poison 。 如需持續性佇列的詳細資訊,請參閱 佇列類型。 |
<Server>\<NextHopDomain> 或 <NextHopDomain> |
指定或本機伺服器上的傳遞佇列。 <NextHopDomain> 是佇列 NextHopDomain 屬性值中的佇列名稱。 例如,傳送連接器的位址空間、Active Directory 月臺的名稱或 DAG 的名稱。 如需詳細資訊,請參閱 NextHopSolutionKey。 |
<Server>\<QueueInteger> 或 <QueueInteger> |
指定或本機伺服器上的傳遞佇列。 <QueueInteger> 是指派給傳遞佇列或佇列資料庫中陰影佇列的唯一整數值。 不過,您必須執行 Get-Queue Cmdlet,才能在 Identity 或 QueueIdentity 屬性中尋找此值。 |
<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值的佇列。
Include 和 Exclude 參數使用以下佇列內容來篩選佇列:
值 | 描述 | 範例 |
---|---|---|
DeliveryType |
根據 DeliveryType 屬性來包含或排除佇列,該屬性會定義如何將訊息傳輸至下一個躍點。 有效值會在 NextHopSolutionKey 中描述。 您可以指定多個以逗號分隔的值。 |
傳回本機伺服器上的所有傳遞佇列,其中下一個躍點是裝載于本機伺服器上的傳送連接器,並已設定為智慧主機路由。 Get-Queue -Include SmartHostConnectorDelivery |
Empty |
包含或排除空白佇列。 空白佇列的 MessageCount 屬性中有值 0 。 |
傳回本機伺服器上包含訊息的所有佇列。 Get-Queue -Exclude Empty |
External |
包含或排除在NextHopCategory屬性中具有 值 External 的佇列。 外部佇列的 DeliveryType 值一律為以下任一項:
如需詳細資訊,請參閱 NextHopSolutionKey。 |
傳回本機伺服器上的所有內部佇列。 Get-Queue -Exclude External |
Internal |
此值可包含或排除再 NextHopCategory 屬性中具有值 Internal 的佇列。 請注意,外部收件者的訊息在到達外部傳遞的閘道伺服器之前,可能需要多個內部躍點。 |
傳回本機伺服器上的所有內部佇列。 Get-Queue -Include Internal |
請注意,您可以使用 Filter 參數複製 Include 和 Exclude 參數的功能。 例如,下列命令會產生相同的結果:
Get-Queue -Exclude Empty
Get-Queue -Filter "MessageCount -gt 0"
不過,如您所見, Include 和 Exclude 參數的語法更簡單且更容易記住。
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 上可用的篩選和排序參數。
參數 | 描述 |
---|---|
Dag、Server 或 Site | 這些參數互斥 (無法在相同的命令) 中使用,並設定 Cmdlet 的範圍。 您需要指定這些參數中的其中一個參數,或指定 Forest 參數。 在一般的情況下,您會使用伺服器、DAG 或 Active Directory 站台的名稱,不過您可以使用任何可唯一識別伺服器、DAG 或站台的值。 您可以指定多個伺服器、DAG 或站台,並以逗號加以分隔。 |
Forest | 如果您不是使用 Dag、Server 或 Site 參數,則必須使用此參數。 您不需要為此參數指定任何值。 藉由使用此參數,您可以從本機 Active Directory 樹系中的所有 Exchange 信箱伺服器取得佇列。 您無法使用此參數來檢視遠端 Active Directory 樹系中的佇列。 |
DetailsLevel |
Normal 是預設值。 結果中會傳回下列屬性:
* 這些屬性是保留給內部 Microsoft 使用,不會在內部部署 Exchange 組織中使用。 如需此清單中所有屬性的詳細資訊,請參閱 佇列屬性。 |
Filter | 根據佇列 Cmdlet 上的 Filter 參數 一節中所述的佇列屬性來篩選佇列。 您可以使用佇列屬性主題中所述的任何可篩選隊 列屬性 。 |
GroupBy | 將佇列結果分組。 您可以根據以下任一內容為結果分組:
依預設,系統會根據 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、Identity或Queue參數。 Server參數會指定您要在其中執行命令的伺服器。 您可以在相同的命令中使用 Server 和 Filter 參數。 |
Remove-Message Resume-Message Suspend-Message |
Filter Identity 伺服器 |
您需要使用 Identity 參數或 Filter 參數,但無法在相同的命令中使用這兩者。 Server參數會指定您要在其中執行命令的伺服器。 您可以在相同的命令中使用 Server 和 Filter 參數。 |
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> |
指定或本機伺服器上特定佇列中的訊息。
|
<Server>\*\<MessageInteger> 或 *\<MessageInteger> 或 <MessageInteger> |
指定或本機伺服器上佇列資料庫中所有佇列中訊息的所有複本。 |
訊息 Cmdlet 上的篩選參數
您可以使用 Filter 參數搭配 Get-Message、 Remove-Message、 Resume-Message和 Suspend-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-Queue 和 Get-Message Cmdlet 上的其他篩選參數使用。 如果未指定任何進階分頁參數,則查詢會以識別碼的遞增順序傳回結果。
根據預設,當您指定排序次序時,一律會包含 Identity 屬性並以遞增順序排序,因為其他可用的佇列或訊息屬性不是唯一的。
您可以使用 BookmarkIndex 和 BookmarkObject 參數來標記已排序結果中的位置。 如果當您擷取下一頁結果時,書簽物件已不存在,則結果會從最接近書簽的專案開始,這取決於您指定的排序次序。
下表說明進階分頁參數。
參數 | 描述 |
---|---|
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 則訊息。
執行下列命令以擷取結果的第一頁。
$Results=Get-Message -Server mailbox01.contoso.com -ResultSize 500 -SortOrder +FromAddress,-Size
若要設定書簽物件,請執行下列命令,將第一頁的最後一個專案儲存至變數。
$Temp=$Results[$results.length-1]
若要在指定的伺服器上擷取接下來的 500 個物件,並排除書簽物件,請執行下列命令。
Get-Message -Server mailbox01.contoso.com -BookmarkObject:$Temp -IncludeBookmark $false -ResultSize 500 -SortOrder +FromAddress,-Size