キューの手順

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

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

  • キューの表示
  • 再試行キュー: Exchange サーバーが次ホップに接続できない場合、キューは再試行の状態になり、サーバーは定期的にメッセージの接続と配信を試みます。 キューを手動で再試行する場合は、即時の接続試行を強制することで、スケジュールされた再試行時間をオーバーライドします。
  • キューの再送信: キューの再送信はキューの再試行に似ていますが、メッセージは、すぐに次ホップに接続するのではなく、カテゴライザーが処理する送信キューに送信されます。 これは、ネットワーク インフラストラクチャの変更によってキュー内のメッセージが配信されない場合に便利です。
  • 一時停止キュー: 新しいメッセージはキューに入ることができ、次ホップに送信される処理を行っているメッセージはキューから離れますが、それ以外の場合、キューが手動で再開されるまでメッセージはキューから離れません。
  • キューの再開: 状態が [中断] のキューの送信メッセージ配信を再開します。 キューを再開しても、キュー内のメッセージの状態は変わりません (たとえば、状態が [中断済み] のメッセージは中断されたままであり、キューから出ることはありません)。

キュー内のメッセージに関する手順については、「キュー 内のメッセージのプロシージャ」を参照してください。

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

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

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

    • Windows 10: [Start all Apps>Microsoft Exchange Server <Version>>Exchange Toolbox] をクリックします。>

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

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

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

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

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

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

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

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

ヒント

問題がある場合は、 Exchange Server、Exchange Online、Exchange Online Protection。 必要な作業 シェルを使用して送信者フィルターを有効または無効にする

[キューの表示]

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

  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 Management Shell のキュー内のキューとメッセージを検索する」を参照してください。

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

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

キューが正常に再試行されたことを確認するには、次のいずれかの手順を使用します。

  • キュー ビューアーで、 Status プロパティ、 Next Retry Time プロパティ、 および Last Error プロパティの値を確認します。

  • Exchange 管理シェルで、QueueIdentity> をキューの ID に置き換え<、次の構文を使用してプロパティ値を確認します。

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

キューを再送信する

キューを再送信すると、キュー内のすべてのメッセージがサブミッション キューに送信され、カテゴライザーが処理されます。 カテゴライザーの詳細については、「 メール フローとトランスポート パイプライン」を参照してください。

:

  • キュー ビューアーを使用してキューを再送信することはできません。 Exchange 管理シェル を使用する必要があります。
  • 次のキューを再送信できます。
    • [再試行] の状態を持つ配信キュー。
    • 到達不能キュー。 状態値が Suspended であるキュー内のメッセージは再送信されません。
  • 有害メッセージ キューを再送信することはできませんが、キュー内の個々のメッセージを再送信することはできます。 詳細については、このトピックの後半 の「有害メッセージ キューでメッセージを再送信 する」セクションを参照してください。
  • キューを再送信する代わりに、メッセージを .eml ファイルにエクスポートし、任意の Exchange サーバーの再生ディレクトリを使用して再送信できます。 詳細については、「キューからのメッセージのエクスポート」を参照してください。

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>
    

キューを再開する

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

:

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

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

  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>