キューの手順
Exchange Server では、Exchange ツールボックスまたは Exchange 管理シェルのキュー ビューアーを使用してキューを管理できます。 キューの詳細情報については、Queues and messages in queues を参照してください。
このトピックでは、キューに対して次の手順を実行する方法について説明します。
- キューの表示
- 再試行キュー: Exchange サーバーが次ホップに接続できない場合、キューは再試行の状態になり、サーバーは定期的にメッセージの接続と配信を試みます。 キューを手動で再試行する場合は、即時の接続試行を強制することで、スケジュールされた再試行時間をオーバーライドします。
- キューの再送信: キューの再送信はキューの再試行に似ていますが、メッセージは、すぐに次ホップに接続するのではなく、カテゴライザーが処理する送信キューに送信されます。 これは、ネットワーク インフラストラクチャの変更によってキュー内のメッセージが配信されない場合に便利です。
- 一時停止キュー: 新しいメッセージがキューに入り、次ホップに送信される処理を行っているメッセージはキューから離れますが、それ以外の場合、キューが手動で再開されるまでメッセージはキューから離れません。
- キューの再開: 状態が [中断] のキューの送信メッセージ配信を再開します。 キューを再開しても、キュー内のメッセージの状態は変わりません (たとえば、状態が [中断済み] のメッセージは中断されたままであり、キューから出ることはありません)。
キュー内のメッセージに関する手順については、「キュー 内のメッセージのプロシージャ」を参照してください。
はじめに把握しておくべき情報
各手順の推定完了時間:5 分
Exchange ツールボックス を見つけて開くには、次の手順のいずれかを使用します。
Windows 10: [スタート]>[すべてのアプリ>Microsoft Exchange Server <Version>>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 Server、Exchange Online、Exchange Online Protection。 必要な作業 シェルを使用して送信者フィルターを有効または無効にする
[キューの表示]
キュー ビューアーを使用してキューを表示する
- In the Exchange Toolbox, in the Mail flow tools section, double-click Queue Viewer to open the tool in a new window.
- キュー ビューアーで、 [キュー] タブをクリックします。接続先のサーバー上にあるすべてのキューの一覧が表示されます。
- 操作ウィンドウで [エクスポート一覧] リンクを使用して、キューの一覧をエクスポートできます。 詳細については、「 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」を参照してください。
キューを再試行する
配信キューを再試行する場合は、即時接続試行を強制し、次にスケジュールされた再試行時間をオーバーライドします。 キューのスケジュール再試行時間の詳細については、「 メッセージの再試行、再送信、有効期限の間隔」を参照してください。
注:
- このアクションを有効にするには、キューの状態が [再試行] である必要があります。
- 接続に失敗すると、再試行の間隔がリセットされます。
キュー ビューアーを使用してキューを再試行する
In the Exchange Toolbox, in the Mail flow tools section, double-click Queue Viewer to open the tool in a new window.
キュー ビューアーで、[キュー] タブ を クリックします。接続しているサーバー上のすべてのキューの一覧が表示されます。
[フィルターの作成] をクリックし、次のようにフィルター式を入力します。
- キューのプロパティのボックスの一覧から [状態] を選択します。
- 比較演算子のボックスの一覧から [次の値と等しい] を選択します。
- 値のボックスの一覧から [再試行] を選択します。
- [フィルターの適用] をクリックします。 現在 [再試行] 状態のキューがすべて表示されます。
- 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 管理シェルを使用できます。 メッセージの再開の詳細については、「 キュー内のメッセージを再開する」を参照してください。
- 有害メッセージ キューは、キューにメッセージが含まれている場合にのみ表示されます。
キュー ビューアーを使用して有害メッセージ キュー内のメッセージを再送信する
- In the Exchange Toolbox, in the Mail flow tools section, double-click Queue Viewer to open the tool in a new window.
- キュー ビューアーで、[キュー] タブ を クリックします。接続しているサーバー上のすべてのキューの一覧が表示されます。
- 有害メッセージ キューを選択します。 操作ウィンドウで、 [メッセージの表示] を選択します。
- 一覧から 1 つ以上のメッセージを選択し、右クリックして、 [再開] をクリックします。
Exchange 管理シェルを使用して有害メッセージ キュー内のメッセージを再送信する
有害なメッセージ キューからメッセージを再送信するには、以下の手順を実行します。
ローカル サーバーで次のコマンドを実行して、メッセージの ID を見つけます。
Get-Message -Queue Poison | Format-Table Identity
次のコマンドに前の手順で取得したメッセージの ID を使用します。
Resume-Message <PoisonMessageIdentity>
この例では、メッセージ ID の値が 222 であるメッセージを有害なメッセージ キューから再開します。
Resume-Message 222
詳細については、「 Resume-Message」を参照してください。
正常な動作を確認する方法
有害メッセージ キューからメッセージが正常に再送信されたことを確認するには、次のいずれかの手順を使用して、メッセージがキューに存在しなくなったことを確認します。
キュー ビューアーで、メッセージを再送信しようとした有害メッセージ キューを表示します。
Exchange 管理シェル で次のコマンドを実行します。
Get-Message -Queue Poison
再送信したメッセージが有害メッセージ キュー内の唯一のメッセージであり、キューが表示されなくなった場合は、メッセージの再送信が成功したことを示すメッセージでもあります。
キューを中断する
キューを中断してメール フローを停止した後、キュー内の 1 つ以上のメッセージを中断できます。 詳細については、「キュー内のメッセージを中断する」をご覧ください。
注:
- 次のキューを中断することができます。
- 任意の状態を持つ配信キュー。
- 到達不能キュー。 このキューを手動で再開するまで、構成の更新が検出されると、メッセージはカテゴライザーに自動的に再送信されなくなります。
- 送信キュー。 このキューを手動で再開するまで、メッセージはカテゴライザーによって取得されません。
- キューを中断しても、キュー内のメッセージの状態は中断状態に変わりません。
キュー ビューアーを使用してキューを中断する
- In the Exchange Toolbox, in the Mail flow tools section, double-click Queue Viewer to open the tool in a new window.
- キュー ビューアーで、[キュー] タブ を クリックします。接続しているサーバー上のすべてのキューの一覧が表示されます。 特定の条件に一致するキューのみを表示するためのフィルターを作成することができます。
- 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>
キューを再開する
キューを再開すると、状態が [中断] のキューから送信メッセージ配信を再開します。
注:
- 再開できるのは、中断されたキューのみです。
- キューを再開しても、キュー内のメッセージの状態は変更されません。 たとえば、状態が [中断済み] のメッセージは中断されたままであり、キューを再開した後もキューから出ていません。
キュー ビューアーを使用してキューを再開する
In the Exchange Toolbox, in the Mail flow tools section, double-click Queue Viewer to open the tool in a new window.
キュー ビューアーで、[キュー] タブ を クリックします。接続しているサーバー上のすべてのキューの一覧が表示されます。
[フィルターの作成] をクリックし、次のようにフィルター式を入力します。
- キューのプロパティのボックスの一覧から [状態] を選択します。
- 比較演算子のボックスの一覧から [次の値と等しい] を選択します。
- 値のボックスの一覧から [中断] を選択します。
[フィルターの適用] をクリックします。 現在中断されているサーバー上のすべてのキューが表示されます。
一覧から 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>