佇列程序

適用於:yes-img-162016 yes-img-192019 yes-img-se訂閱版本

在 Exchange Server 中,您可以使用 Exchange 工具箱中的佇列檢視器或 Exchange 管理命令介面來管理佇列。 如需佇列的詳細資訊,請參閱 佇列中的佇列和訊息。

本主題描述如何針對佇列執行下列程序:

  • 檢視佇列
  • 重試佇列:當 Exchange 伺服器無法連線到下一個躍點時,佇列會進入 [重試] 狀態,且伺服器會定期嘗試連線並傳遞訊息。 手動重試佇列時,會強制立即嘗試連線,以覆寫排程的重試時間。
  • 重新提交佇列:重新提交佇列類似於重試佇列,只不過訊息會傳回提交佇列供分類器處理,而不是立即嘗試連線到下一個躍點。 如果網路基礎架構的變更導致無法遞送佇列中的訊息,此功能就相當實用。
  • 暫停佇列:新訊息可以進入佇列,而正在傳輸到下一個躍點的訊息將離開佇列,但否則,在手動繼續佇列之前,訊息不會離開佇列。
  • 繼續佇列:為狀態為 [已暫停] 的佇列重新啟動傳出訊息傳遞。 當您繼續佇列時,佇列中訊息的狀態不會變更 (例如,狀態為 [已暫停] 的訊息會保持暫停狀態,且不會離開佇列) 。

如需佇列中訊息的程序,請參閱 佇列中訊息的程序。

開始之前有哪些須知?

  • 每項程序的預估完成時間:5 分鐘

  • 若要尋找並開啟 Exchange 工具箱,請使用下列其中一個程序:

    • Windows 10:按一下 [啟動>所有應用程式>]Microsoft Exchange Server <版本>>Exchange 工具箱。

    • Windows Server 2012 R2 或 Windows 8.1:在 [開始] 畫面中,按一下左下角附近的向下箭頭或從畫面中間向上撥動,即可開啟 [應用程式] 檢視。 Exchange 工具箱捷徑位於名為 Microsoft Exchange Server <Version> 的群組中。

    • Windows Server 2012: 請使用下列任一方法:

      • 在 [開始] 畫面上,按一下空白區域,然後輸入 Exchange 工具箱。
      • 在桌面或 [開始] 畫面上,按 Windows 鍵 + Q。在 [搜尋] 快速鍵中,輸入 Exchange 工具箱。
      • 在桌面或 [開始] 畫面上,將游標移到右上角,或從畫面的右緣向左撥動以顯示快速鍵。 按一下 [搜尋] 快速鍵,然後輸入 Exchange 工具箱。

      當捷徑出現在結果中時,您可以選取它。

  • 若要了解如何在內部部署 Exchange 組織中開啟 Exchange 管理命令介面,請參閱 Open the Exchange Management Shell。

  • 如需有關在 Exchange 管理命令介面中使用篩選和識別值的詳細資訊,請參閱在 Exchange 管理命令介面的佇列中尋找佇列和郵件。

  • 您必須已獲指派權限,才能執行此程序或這些程序。 若要查看您需要的權限,請參閱 郵件流程權限主題中的「佇列」項目。

  • 如需適用於此主題中程序的快速鍵相關資訊,請參閱 Exchange 系統管理中心的鍵盤快速鍵。

提示

有問題嗎? 在 Exchange 的 Exchange Server 論壇中尋求協助 |Exchange Server |管理。

檢視佇列

使用佇列檢視器檢視佇列

  1. 在 [Exchange 工具箱] 的 [郵件流程工具 ] 區段中,按兩下 [佇列檢視器 ] 以在新視窗中開啟工具。
  2. In Queue Viewer, click the Queues tab. A list of all queues on the server to which you're connected is displayed.
  3. 您可以使用執行窗格中的 [匯出清單] 連結來匯出佇列的清單。 如需詳細資訊,請參閱 How to Export Lists from the Exchange Management Consoles。

使用 Exchange 管理命令介面檢視佇列

若要檢視佇列,請使用下列語法。

Get-Queue [-Filter <Filter> -Server <ServerIdentity> -Include <Internal | External | Empty | DeliveryType> -Exclude <Internal | External | Empty | DeliveryType>]

此範例會顯示伺服器 Mailbox01 上所有非空佇列的基本資訊。

Get-Queue -Server Mailbox01 -Exclude Empty

本範例會顯示本機 Exchange 伺服器上包含超過 100 封郵件的所有佇列的詳細資訊。

Get-Queue -Filter "MessageCount -gt 100" | Format-List

如需詳細資訊,請參閱 Get-Queue 以及在 Exchange 管理命令介面中尋找佇列中的佇列和訊息。

使用 Exchange 管理命令介面檢視多個 Exchange 伺服器上的佇列摘要資訊

Get-QueueDigest Cmdlet 提供特定範圍內所有伺服器上佇列狀態的高階彙總檢視 (例如 DAG、Active Directory 網站、伺服器清單或整個Active Directory 樹系) 。

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

附註:

  • 訂閱邊緣傳輸伺服器上的佇列不會包含在 Get-QueueDigest 的結果中。
  • Get-QueueDigest 可在邊緣傳輸伺服器上使用,但結果僅限於伺服器上的本機佇列。

若要檢視多部 Exchange 伺服器上的佇列摘要資訊,請執行以下命令:

Get-QueueDigest <-Server <ServerIdentity1,ServerIdentity2...> | -Dag <DagIdentity1,DagIdentity2...> | -Site <ADSiteIdentity1,ADSiteIdentity2...> | -Forest> [-Filter <Filter>]

此範例顯示名為 FirstSite 的 Active Directory 站台中所有 Exchange 2013 或更新版本信箱伺服器上佇列的摘要資訊,其中郵件計數大於 100。

Get-QueueDigest -Site FirstSite -Filter "MessageCount -gt 100"

此範例會顯示資料庫可用性群組 (DAG) 名稱為 DAG01 的所有信箱伺服器上佇列的摘要資訊,其中佇列狀態的值為 [再試一次]。

Get-QueueDigest -Dag DAG01 -Filter "Status -eq 'Retry'"

如需詳細資訊,請參閱 Get-QueueDigest。

重試佇列

重試傳遞佇列時,會強制立即嘗試連線,並覆寫下一次排定的重試時間。 如需排程佇列重試時間的詳細資訊,請參閱 訊息重試、重新提交和到期間隔。

附註:

  • 佇列必須處於 [重試] 狀態,此動作才能生效。
  • 如果連線未成功,就會重設重試間隔計時器。

使用佇列檢視器重試佇列

  1. 在 [Exchange 工具箱] 的 [郵件流程工具 ] 區段中,按兩下 [佇列檢視器 ] 以在新視窗中開啟工具。

  2. 在 [佇列檢視器] 中,按一下 [佇列] 索引標籤。隨即顯示您連線之伺服器上所有佇列的清單。

  3. 按一下 [建立篩選器],並輸入篩選器運算式,如下所示:

    1. 從佇列內容下拉式清單中選取 [狀態]。
    2. 從比較運算子下拉式清單中選取 [等於]。
    3. 從值下拉式清單中選取 [重試]。
    4. 按一下 [套用篩選器]。 會顯示目前處於 [重試] 狀態的所有佇列。
    5. 從清單中選取一個或多個佇列。 按一下滑鼠右鍵,再選取 [重試佇列]。 如果連線嘗試成功,佇列狀態會變更為 [使用中]。 如果無法建立連線,佇列會繼續維持 [重試] 狀態,並更新下一個重試時間。

使用 Exchange 管理命令介面重試佇列

若要重試佇列,請使用下列語法。

Retry-Queue <-Identity QueueIdentity | -Filter QueueFilter [-Server ServerIdentity]>

此範例會重試本機伺服器上所有處於 [重試] 狀態的佇列。

Retry-Queue -Filter "Status -eq 'Retry'"

本範例會在名為 Mailbox01 的伺服器上重試名為 contoso.com 的佇列。

Retry-Queue -Identity Mailbox01\contoso.com

如何知道這是否正常運作?

若要確認您已成功重試佇列,請使用下列其中一個程序:

  • 在 [佇列檢視器] 中,驗證 [狀態]、[ 下次重試時間] 和 [上次錯誤] 屬性的值。

  • 在 Exchange 管理命令介面中, <以佇列的身分識別取代 QueueIdentity> ,並使用下列語法來驗證屬性值:

    Get-Queue -Identity <QueueIdentity> | Format-Table -Auto Identity,Status,LastRetryTime,NextRetryTime
    

重新提交佇列

重新提交佇列會將佇列中的所有訊息傳送回 [提交] 佇列,讓分類器處理。 如需分類器的詳細資訊,請參閱 郵件流程和傳輸管線。

附註:

  • 您無法使用 [佇列檢視器] 重新提交佇列。 您僅能使用 Exchange 管理命令介面。
  • 您可以重新提交下列佇列:
    • 狀態為 [重試] 的傳遞佇列。
    • 無法連線的佇列。 佇列中狀態值為 [已暫停] 的任何訊息都不會重新提交。
  • 您無法重新提交有害訊息佇列,但可以重新提交佇列中的個別訊息。 如需詳細資訊,請參閱本主題稍後的 在 有害訊息佇列中重新提交郵件 。
  • 您可以將郵件匯出至 .eml 檔案,然後使用任何 Exchange 伺服器上的 Replay 目錄重新提交,而無須重新提交佇列。 如需詳細資訊,請參閱 從佇列匯出訊息

使用 Exchange 管理命令介面重新提交佇列

若要重新提交佇列,請使用下列語法:

Retry-Queue <-Identity QueueIdentity | -Filter "Status -eq 'Retry'" -Server ServerIdentity> -Resubmit $true

此範例會重新提交名為 Mailbox01 之伺服器上任何處於「重試」狀態之傳遞佇列中的所有郵件。

Retry-Queue -Filter "Status -eq 'Retry'" -Server Mailbox01 -Resubmit $true

此範例會重新提交伺服器 Mailbox01 上無法存取之佇列中的所有郵件。

Retry-Queue -Identity Mailbox01\Unreachable -Resubmit $true

如需詳細資訊,請參閱 Retry-Queue。

如何知道這是否正常運作?

若要確認您已成功重新提交佇列,請使用下列其中一個程序:

  • 在 [佇列檢視器] 中,驗證佇列的內容。

  • 在 Exchange 管理命令介面中, <以佇列的身分識別取代 QueueIdentity> ,並執行下列命令來驗證屬性值:

    Get-Queue -Identity <QueueIdentity>
    

重新提交毒藥郵件佇列中的郵件

重新提交郵件的一個特殊情況是有害訊息佇列。 您無法像其他佇列一樣重新提交有害訊息佇列,但您可以重新提交有害訊息佇列中的個別訊息。

附註:

  • 有害訊息佇列中的訊息可能確實有害,或者它們可能是有效訊息,但卻是寫入不當的傳輸代理程式或軟體錯誤的受害者。 如果您不確定有害訊息佇列中訊息的安全性,您應該將訊息匯出至檔案,以便檢查它們。 如需詳細資訊,請參閱 從佇列匯出訊息。
  • 從有害訊息佇列重新提交訊息的程序與從其他佇列繼續暫停的訊息相同。 您可以使用佇列檢視器或 Exchange 管理命令介面。 如需繼續訊息的詳細資訊,請參閱 繼續佇列中的訊息。
  • 只有當佇列包含訊息時,才會顯示有害訊息佇列。

使用佇列檢視器重新提交有害訊息佇列中的訊息

  1. 在 [Exchange 工具箱] 的 [郵件流程工具 ] 區段中,按兩下 [佇列檢視器 ] 以在新視窗中開啟工具。
  2. 在 [佇列檢視器] 中,按一下 [佇列] 索引標籤。隨即顯示您連線之伺服器上所有佇列的清單。
  3. 選取有害訊息佇列。 在執行窗格中,選取 [檢視郵件]。
  4. 從清單中選取一或多封郵件、按一下滑鼠右鍵,然後選取 [繼續]。

使用 Exchange 管理命令介面重新提交有害訊息佇列中的郵件

若要重新提交毒藥郵件佇列中的郵件,請執行以下步驟。

  1. 在本機伺服器上執行下列命令,以尋找郵件的身分識別。

    Get-Message -Queue Poison | Format-Table Identity
    
  2. 將在上個步驟找出來的郵件識別碼用於以下命令中。

    Resume-Message <PoisonMessageIdentity>
    

    此範例會繼續傳遞毒藥郵件佇列中郵件識別碼值為 222 的郵件。

    Resume-Message 222
    

如需詳細資訊,請參閱 Resume-Message。

如何知道這是否正常運作?

若要確認您已成功重新提交有害訊息佇列中的訊息,請使用下列其中一個程序來確認該訊息已不在佇列中:

  • 在 [佇列檢視器] 中,查看您嘗試重新提交郵件的有害訊息佇列。

  • 在 Exchange 管理命令介面中,執行下列命令:

    Get-Message -Queue Poison
    

如果您重新提交的訊息是有害訊息佇列中的唯一訊息,且佇列已不可見,這也表示訊息重新提交成功。

擱置佇列

您可以擱置佇列來停止郵件流程,然後擱置佇列中的其中一封或多封郵件。 如需詳細資訊,請參閱 暫停佇列中的訊息。

附註:

  • 您可以暫停下列佇列:
    • 具有任何狀態的傳遞佇列。
    • 無法連線的佇列。 在您手動恢復此佇列之前,偵測到設定更新時,訊息不再自動重新提交至分類器。
    • 提交佇列。 在您手動恢復此佇列之前,分類器不會選擇郵件。
  • 暫停佇列不會將佇列中的訊息狀態變更為 [已暫停]。

使用佇列檢視器暫停佇列

  1. 在 [Exchange 工具箱] 的 [郵件流程工具 ] 區段中,按兩下 [佇列檢視器 ] 以在新視窗中開啟工具。
  2. 在 [佇列檢視器] 中,按一下 [佇列] 索引標籤。隨即顯示您連線之伺服器上所有佇列的清單。 您可以建立篩選器,只顯示符合特定準則的佇列。
  3. 選取一個或多個佇列,並在其上按一下滑鼠右鍵,然後選取 [暫停]。

使用 Exchange 管理命令介面暫停佇列

若要暫停佇列,請使用下列語法:

Suspend-Queue <-Identity QueueIdentity | -Filter "QueueFilter" [-Server ServerIdentity]>

本範例會擱置本機伺服器上郵件計數等於或大於 1,000,而且狀態為「重試」的所有佇列。

Suspend-Queue -Filter "MessageCount -ge 1000 -and Status -eq 'Retry'"

此範例會擱置名為 Mailbox01 之伺服器上名為 contoso.com 的佇列。

Suspend-Queue -Identity Mailbox01\contoso.com

如需詳細資訊,請參閱 Suspend-Queue。

如何知道這是否正常運作?

若要確認您已成功暫停佇列,請使用下列其中一個程序:

  • 在佇列檢視器中,確認佇列的 狀態 值為 [重試]。

  • 在 Exchange 管理命令介面中,<以佇列的身分識別取代 QueueIdentity>,並執行下列命令來驗證 Status 屬性值:

    Get-Queue -Identity <QueueIdentity>
    

繼續佇列

透過繼續佇列,您可以從狀態為 [已暫停] 的佇列重新開始傳出訊息傳遞。

附註:

  • 您只能繼續已暫停的佇列。
  • 繼續佇列不會變更佇列中郵件的狀態。 例如,狀態為 [已暫停] 的訊息會保持暫停狀態,而且在您繼續佇列之後不會離開佇列。

使用佇列檢視器繼續佇列

  1. 在 [Exchange 工具箱] 的 [郵件流程工具 ] 區段中,按兩下 [佇列檢視器 ] 以在新視窗中開啟工具。

  2. 在 [佇列檢視器] 中,按一下 [佇列] 索引標籤。隨即顯示您連線之伺服器上所有佇列的清單。

  3. 按一下 [建立篩選器],並輸入篩選器運算式,如下所示:

    1. 從佇列內容下拉式清單中選取 [狀態]。
    2. 從比較運算子下拉式清單中選取 [等於]。
    3. 從值下拉式清單中選取 [已擱置]。
  4. 按一下 [套用篩選器]。 即會顯示伺服器上目前擱置中的所有佇列。

  5. 從清單中選取一或多個佇列、按一下滑鼠右鍵,然後選取 [繼續]。

使用 Exchange 管理命令介面繼續佇列

若要繼續佇列,請使用下列語法:

Resume-Queue <-Identity QueueIdentity | -Filter "QueueFilter" [-Server ServerIdentity]>

此範例會繼續本機伺服器上具有 [擱置中] 狀態的所有佇列。

Resume-Queue -Filter "Status -eq 'Suspended'"

此範例會繼續名為 Mailbox01 之伺服器上名為 contoso.com 的擱置中傳遞佇列。

Resume-Queue -Identity Mailbox01\contoso.com

如需詳細資訊,請參閱 Resume-Queue。

如何知道這是否正常運作?

若要確認您已成功繼續佇列,請使用下列其中一個程序:

  • 在佇列檢視器中,請確認佇列沒有 [狀態 ] 值 [已暫停] (例如,[使用中]、[正在連線] 或 [就緒) ]。

  • 在 Exchange 管理命令介面中,<以佇列的身分識別取代 QueueIdentity>,並執行下列命令來驗證 Status 屬性值:

    Get-Queue -Identity <QueueIdentity>