共用方式為


佇列的程式

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

本主題描述如何在佇列上執行下列程式:

  • 檢視佇列
  • 重試佇列:當 Exchange 伺服器無法連線到下一個躍點時,佇列會進入重試狀態,而伺服器會定期嘗試連線並傳遞訊息。 當您手動重試佇列時,您會藉由強制立即連線嘗試來覆寫排定的重試時間。
  • 重新提交佇列:重新提交佇列類似於重試佇列,不同之處在於訊息會傳送回提交佇列以供分類器處理,而不是立即嘗試連線到下一個躍點。 如果網路基礎結構的變更導致佇列中的訊息無法傳遞,這會很有用。
  • 暫止佇列:新的訊息可以進入佇列,而正在傳輸至下一個躍點的訊息會離開佇列,否則,在手動繼續佇列之前,訊息將不會離開佇列。
  • 繼續佇列:針對狀態為 Suspended 的佇列重新啟動傳出訊息傳遞。 當您繼續佇列時,佇列中的訊息狀態不會變更 (例如,狀態為 Suspended 的訊息會保持暫停狀態,且不會離開佇列) 。

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

開始之前有哪些須知?

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

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

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

    • Windows Server 2012 R2 或 Windows 8.1:在 [開始] 畫面上,按兩下靠近左下角的向下箭號或從畫面中間向上撥動,開啟 [應用程式] 檢視。 Exchange 工具箱快捷方式位於名為 Microsoft Exchange Server <版本>] 的群組中。

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

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

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

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

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

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

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

提示

有問題嗎? 在 Exchange 論壇中尋求協助。 此論壇的網址為:Exchange ServerExchange OnlineExchange Online Protection

檢視佇列

使用佇列查看器檢視佇列

  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-QueueFind queues and messages in queues in the Exchange Management Shell

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

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

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

附註

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

若要檢視多部 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"

本範例會顯示資料庫可用性群組中所有信箱伺服器上佇列的摘要資訊, (名為 DAG01 的 DAG) ,其中佇列狀態的值為 Retry

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 管理命令介面。
  • 您可以重新提交下列佇列:
    • 狀態為 [重試] 的傳遞佇列。
    • 無法連線的佇列。 佇列中狀態值為 Suspended 的任何訊息將不會重新提交。
  • 您無法重新提交有害消息佇列,但可以重新提交佇列中的個別訊息。 如需詳細資訊,請參閱本主題稍後 的重新提交有害消息佇列中的訊息 一節。
  • 您可以將訊息導出至.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>
    

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

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

附註

  • 有害消息佇列中的訊息可能有害,或可能是寫入不良的傳輸代理程式或軟體 Bug 所造成之犧牲者的有效訊息。 如果您不確定有害消息佇列中訊息的安全性,您應該將訊息匯出至檔案,以便檢查它們。 如需詳細資訊,請參閱 從佇列匯出訊息
  • 從有害消息佇列重新提交訊息的程式,與從其他佇列繼續暫止的訊息相同。 您可以使用佇列查看器或 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>
    

繼續佇列

藉由繼續佇列,您可以從狀態為 Suspended 的佇列重新啟動傳出訊息傳遞。

附註

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

使用佇列查看器繼續佇列

  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

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

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

  • 在佇列查看器中,確認佇列沒有 Status 值 Suspended (例如[作用中]、[連線] 或 [就緒]) 。

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

    Get-Queue -Identity <QueueIdentity>