キューの手順

適用対象: yes-img-162016 yes-img-192019 yes-img-seサブスクリプション エディション

Exchange Server では、Exchange ツールボックスのキュー ビューアーまたは Exchange 管理シェルを使用してキューを管理できます。 キューの詳細情報については、Queues and messages in queues を参照してください。

このトピックでは、キューで次の手順を実行する方法について説明します。

  • キューの表示
  • 再試行キュー: Exchange サーバーがネクスト ホップに接続できない場合、キューは再試行の状態になり、サーバーは定期的に接続してメッセージの配信を試みます。 キューを手動で再試行する場合、即時接続を強制的に試行することで、スケジュールされた再試行時間を上書きします。
  • キューを再送信する: キューの再送信はキューの再試行に似ていますが、メッセージが次のホップへの接続をすぐに試みるのではなく、カテゴライザーが処理するために送信キューに送り返される点が異なります。 これは、ネットワーク インフラストラクチャの変更が原因でキュー内のメッセージを配信できない場合に役立ちます。
  • 中断キュー: 新しいメッセージがキューに入る可能性があり、ネクスト ホップに送信されているメッセージはキューを離れますが、それ以外の場合、キューが手動で再開されるまでメッセージはキューを離れません。
  • キューの再開: 状態が [中断] のキューの送信メッセージ配信を再開します。 キューを再開しても、キュー内のメッセージの状態は変更されません (たとえば、状態が Suspended のメッセージは中断のままで、キューを離れません)。

キュー内のメッセージの手順については、 キュー内のメッセージの手順を参照してください。

はじめに把握しておくべき情報

  • 各手順の推定完了時間:5 分

  • Exchange ツールボックス を見つけて開くには、次の手順のいずれかを使用します。

    • Windows 10: [スタート]>すべてのアプリ>Microsoft Exchange Server <バージョン>>Exchange ツールボックスをクリックします。

    • Windows Server 2012 R2 か Windows 8.1: [スタート] 画面で、左下隅の近くの下矢印をクリックするか、画面の中央から上にスワイプして、[アプリ] ビューを開きます。 Exchange ツールボックスのショートカットは Microsoft Exchange Server <Version> という名前のグループにあります。

    • Windows Server 2012: 次のいずれかの方法を使用します。

      • [スタート] 画面で、空の領域をクリックして、「Exchange Toolbox」と入力します。
      • デスクトップまたは [スタート] 画面で、Windows キー + Q キーを押します。[検索] チャームに「Exchange Toolbox」と入力します。
      • デスクトップまたは [スタート] 画面で、右上隅にカーソルを移動するか、または画面の右端から左にスワイプして、チャームを表示します。 [検索] チャームをクリックして、「Exchange Toolbox」と入力します。

      ショートカットが結果に表示されたら、そのショートカットを選択してください。

  • オンプレミスの Exchange 組織で Exchange 管理シェルを開く方法については、「 Open the Exchange Management Shell」をご覧ください。

  • Exchange 管理シェルでフィルターと ID 値を使用する方法の詳細については、「 Exchange 管理シェルでキュー内のキューとメッセージを検索する」を参照してください。

  • この手順を実行する際には、あらかじめアクセス許可が割り当てられている必要があります。 必要なアクセス許可を確認するには、「メール フローのアクセス許可」トピックの「キュー」エントリを参照してください。

  • このトピックの手順で使用可能なキーボード ショートカットについては、「Exchange 管理センターのキーボード ショートカット」を参照してください。

ヒント

問題がある場合は、 Exchange の Exchange Server フォーラムでヘルプを依頼する |Exchange Server |管理

[キューの表示]

キュー ビューアーを使用してキューを表示する

  1. In the Exchange Toolbox, in the Mail flow tools section, double-click Queue Viewer to open the tool in a new window.
  2. キュー ビューアーで、 [キュー] タブをクリックします。接続先のサーバー上にあるすべてのキューの一覧が表示されます。
  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

この例では、100 を超えるメッセージを含むローカル Exchange サーバー上のすべてのキューの詳細情報を表示します。

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

詳細については、「 Get-Queue 」および「 Exchange 管理シェルのキュー内のキューとメッセージの検索」を参照してください。

Exchange 管理シェルを使用して複数の Exchange サーバーのキューの概要情報を表示する

Get-QueueDigest コマンドレットは、特定のスコープ (DAG、Active Directory サイト、サーバーのリスト、または Active Directory フォレスト全体など) 内のすべてのサーバー上のキューの状態の概要を集計ビューを提供します。

既定では、 Get-QueueDigest コマンドレットは 10 個以上のメッセージを含む配信キューを表示し、結果は 1 分から 2 分前のものになります。 これらの既定値を変更する方法については、「 Get-QueueDigest の構成」を参照してください。

:

  • サブスクライブされたエッジ トランスポート サーバー上のキューは、Get-QueueDigest の結果には含まれません。
  • Get-QueueDigest はエッジ トランスポート サーバーで使用できますが、結果はサーバー上のローカル キューに制限されます。

複数の Exchange サーバー上のキューについて概要情報を表示するには、次のコマンドを実行します。

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

この例では、メッセージ数が 100 を超える FirstSite という名前の Active Directory サイト内のすべての Exchange 2013 以降のメールボックス サーバー上のキューに関する概要情報を表示します。

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

この例では、キューの状態が " 再試行" になっている DAG01 という名前のデータベース可用性グループ (DAG) 内のすべてのメールボックス サーバー上にあるキューに関する概要情報を表示します。

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

詳細については、「 Get-QueueDigest」を参照してください。

キューを再試行する

配信キューを再試行する場合は、即時接続を強制し、次にスケジュールされた再試行時間を上書きします。 キューのスケジュールされた再試行時間の詳細については、「 メッセージの再試行、再送信、有効期限の間隔」を参照してください。

:

  • このアクションを有効にするには、キューが [再試行] の状態である必要があります。
  • 接続に失敗すると、再試行の間隔がリセットされます。

キュー ビューアーを使用してキューを再試行する

  1. In the Exchange Toolbox, in the Mail flow tools section, double-click Queue Viewer to open the tool in a new window.

  2. キュー ビューアで、[キュー] タブをクリックします。接続しているサーバー上のすべてのキューの一覧が表示されます。

  3. [フィルターの作成] をクリックし、次のようにフィルター式を入力します。

    1. キューのプロパティのボックスの一覧から [状態] を選択します。
    2. 比較演算子のボックスの一覧から [次の値と等しい] を選択します。
    3. 値のボックスの一覧から [再試行] を選択します。
    4. [フィルターの適用] をクリックします。 現在 [再試行] 状態のキューがすべて表示されます。
    5. 1 つ以上のキューをリストから選択します。 そのキューを右クリックし、 [キューの再試行] を選択します。 接続試行に成功すると、キューの状態は [アクティブ] に変わります。 接続が確立しないと、キューの状態は [再試行] のままで、次の再試行の時間が更新されます。

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> をキューの ID に置き換え、次の構文を使用してプロパティ値を確認します。

    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> をキューの ID に置き換え、次のコマンドを実行してプロパティ値を確認します。

    Get-Queue -Identity <QueueIdentity>
    

有害メッセージ キュー内にあるメッセージを再送信する

メッセージを再送信するための特殊なケースは、有害メッセージ キューです。 他のキューのように有害メッセージ キューを再送信することはできませんが、有害メッセージ キュー内の個々のメッセージを再送信することはできます。

:

  • 有害メッセージ キュー内のメッセージが本当に有害な場合や、有効なメッセージが、不適切なトランスポート エージェントやソフトウェア バグの被害を受けた場合もあります。 有害メッセージ キュー内のメッセージの安全性が不明な場合は、メッセージを調べられるようにメッセージをファイルにエクスポートする必要があります。 詳細については、「キューからメッセージをエクスポートする」を参照してください。
  • 有害メッセージ キューからメッセージを再送信する手順は、他のキューから中断されたメッセージを再開する手順と同じです。 キュー ビューアーまたは Exchange 管理シェルを使用できます。 メッセージの再開の詳細については、「 キュー内のメッセージの再開」を参照してください。
  • 有害メッセージ キューは、キューにメッセージが含まれている場合にのみ表示されます。

キュー ビューアーを使用して、有害メッセージ キュー内のメッセージを再送信する

  1. In the Exchange Toolbox, in the Mail flow tools section, double-click Queue Viewer to open the tool in a new window.
  2. キュー ビューアで、[キュー] タブをクリックします。接続しているサーバー上のすべてのキューの一覧が表示されます。
  3. 有害メッセージ キューを選択します。 操作ウィンドウで、 [メッセージの表示] を選択します。
  4. 一覧から 1 つ以上のメッセージを選択し、右クリックして、 [再開] をクリックします。

Exchange 管理シェルを使用して、有害メッセージ キューにあるメッセージを再送信する

有害なメッセージ キューからメッセージを再送信するには、以下の手順を実行します。

  1. ローカル サーバーで次のコマンドを実行して、メッセージの ID を見つけます。

    Get-Message -Queue Poison | Format-Table Identity
    
  2. 次のコマンドに前の手順で取得したメッセージの ID を使用します。

    Resume-Message <PoisonMessageIdentity>
    

    この例では、メッセージ ID の値が 222 であるメッセージを有害なメッセージ キューから再開します。

    Resume-Message 222
    

詳細については、「 Resume-Message」を参照してください。

正常な動作を確認する方法

有害メッセージ キューからメッセージを正常に再送信したことを確認するには、次のいずれかの手順を使用して、メッセージがキューにないことを確認します。

  • キュー ビューアーで、メッセージの再送信を試行した有害メッセージ キューを表示します。

  • Exchange 管理シェル で次のコマンドを実行します。

    Get-Message -Queue Poison
    

再送信したメッセージが有害メッセージ キュー内の唯一のメッセージであり、そのキューが表示されなくなった場合も、メッセージの再送信が成功したことを示します。

キューを中断する

キューを中断してメール フローを停止した後、キュー内の 1 つ以上のメッセージを中断できます。 詳細については、「キュー内のメッセージを中断する」をご覧ください。

:

  • 次のキューを中断することができます。
    • 状態のある配信キュー。
    • 到達不能キュー。 このキューを手動で再開するまでは、構成の更新が検出されたときにメッセージが自動的にカテゴライザーに再送信されなくなります。
    • 送信キュー。 このキューを手動で再開するまで、メッセージはカテゴライザーによって取得されません。
  • キューを中断しても、キュー内のメッセージの状態は中断中に変更されません。

キュー ビューアーを使用してキューを中断する

  1. In the Exchange Toolbox, in the Mail flow tools section, double-click Queue Viewer to open the tool in a new window.
  2. キュー ビューアで、[キュー] タブをクリックします。接続しているサーバー上のすべてのキューの一覧が表示されます。 特定の条件に一致するキューのみを表示するためのフィルターを作成することができます。
  3. 1 つ以上のキューを選択し、右クリックし、 [中断] をクリックします。

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> をキューの ID に置き換え、次のコマンドを実行して Status プロパティ値を確認します。

    Get-Queue -Identity <QueueIdentity>
    

キューを再開する

キューを再開することで、状態が [中断] のキューから送信メッセージの配信を再開します。

:

  • 再開できるのは、中断されているキューのみです。
  • キューを再開しても、キュー内のメッセージの状態は変更されません。 たとえば、ステータスが Suspended のメッセージは中断されたままであり、キューを再開した後もキューから出ません。

キュー ビューアーを使用してキューを再開する

  1. In the Exchange Toolbox, in the Mail flow tools section, double-click Queue Viewer to open the tool in a new window.

  2. キュー ビューアで、[キュー] タブをクリックします。接続しているサーバー上のすべてのキューの一覧が表示されます。

  3. [フィルターの作成] をクリックし、次のようにフィルター式を入力します。

    1. キューのプロパティのボックスの一覧から [状態] を選択します。
    2. 比較演算子のボックスの一覧から [次の値と等しい] を選択します。
    3. 値のボックスの一覧から [中断] を選択します。
  4. [フィルターの適用] をクリックします。 現在中断されているサーバー上のすべてのキューが表示されます。

  5. 一覧から 1 つ以上のキューを選択し、右クリックして、 [再開] をクリックします。

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> をキューの ID に置き換え、次のコマンドを実行して Status プロパティ値を確認します。

    Get-Queue -Identity <QueueIdentity>