Exchange 管理シェルでキュー内のキューとメッセージを検索する

以前のバージョンの Exchange と同様に、Exchange Serverの Exchange 管理シェルを使用してキューとメッセージに関する情報を表示し、その情報を使用してキューとメッセージに対してアクションを実行できます。 通常、アクティブな Exchange には多数のキューと配信されるメッセージが含まれているため、管理するキューまたはメッセージを識別する方法を理解することが重要です。

なお、キューとキュー内メッセージの管理には、Exchange ツールボックスのキュー ビューアーも使用できます。 ただし、Exchange 管理シェルのキューおよびメッセージ表示コマンドレットでは、キュー ビューアーよりもフィルター可能なプロパティとフィルター オプションがサポートされています。 キュー ビューアーの使用の詳細については、「キュー ビューアー」を参照してください。

また、キューはメールボックス サーバーとエッジ トランスポート サーバー (トランスポート サービス) に存在します。 キューとキュー内のメッセージの詳細については、「キューとキュー 内のメッセージ」を参照してください。

キュー フィルター処理パラメーター

次の表は、キュー管理コマンドレットで使用できるフィルター処理パラメーターをまとめたものです。

コマンドレット フィルター処理パラメーター Comments
Get-Queue Exclude
フィルター
Identity
Include
サーバー
Include パラメーターと Exclude パラメーターは、同じコマンド内の他のフィルター処理パラメーターと共に使用できます。
同じコマンドで Identity パラメーターと Filter パラメーターを使用することはできません。
Server パラメーターは、コマンドを実行するサーバーを指定します。 同じコマンドで サーバー パラメーターと ID パラメーターを使用することはできませんが、同じコマンド内の他のフィルター処理パラメーターで Server パラメーターを使用できます。
Resume-Queue
Retry-Queue
Suspend-Queue
Identity
フィルター
サーバー
同じコマンド内の他のフィルター処理パラメーターで Identity パラメーターを使用することはできません。
Server パラメーターは、コマンドを実行するサーバーを指定します。 サーバー パラメーターとフィルター パラメーターは、同じコマンドで使用できます。
Get-QueueDigest Dag
フィルター
Forest
サーバー
Site
DagSiteServer、またはフォレストのいずれかのパラメーターを使用する必要がありますが、同じコマンドでそれらのパラメーターを一緒に使用することはできません。
Filter パラメーターは、他のフィルター処理パラメーターと共に使用できます。

キュー ID

Identity パラメーターは、基本的な構文<サーバー キューを使用します>\ <>。 通常、この値はキューを一意に識別するため、 Identity パラメーターで他のフィルター処理パラメーターを使用することはできません。 例外は Get-Queue コマンドレットで、Identity パラメーターで Include パラメーターと Exclude パラメーターを使用できます。

次の表では、キュー管理コマンドレットの IDENTITY パラメーター構文について説明します。

Identity パラメーターの値 説明
<Server>\<PersistentQueueName> または <PersistentQueueName> 指定したサーバーまたはローカル サーバー上の永続的なキュー。
<PersistentQueueName>Submission、、 Unreachable、または Poisonです。
永続キューの詳細については、「キュー の種類」を参照してください。
<Server>\<NextHopDomain> または <NextHopDomain> 指定したサーバーまたはローカル サーバー上の配信キュー。
<NextHopDomain> は、キューの NextHopDomain プロパティの値からのキューの名前です。 たとえば、送信コネクタのアドレス空間、Active Directory サイトの名前、DAG の名前などです。 詳細については、「 NextHopSolutionKey」をご覧ください。
<Server>\<QueueInteger> または <QueueInteger> 指定したサーバーまたはローカル サーバー上の配信キュー。
<QueueInteger> は、キュー データベース内の配信キューまたはシャドウ キューに割り当てられる一意の整数値です。 ただし、この値を Identity プロパティまたは QueueIdentity プロパティで見つけるには、Get-Queue コマンドレットを実行する必要があります。
<Server>\Shadow\<QueueInteger> または Shadow\<QueueInteger> 指定したサーバーまたはローカル サーバー上のシャドウ キュー。 シャドウ キューとシャドウ冗長性の詳細については、「Exchange Serverのシャドウ冗長性」を参照してください。
<Server>\* または * 指定したサーバーまたはローカル サーバー上のすべてのキュー。
: IDENTITY は位置指定パラメーターです。つまり、修飾子を指定せずに値を -Identity 指定できます。 たとえば、次のコマンドは同じ結果を生成します。
Get-Queue -Identity *
Get-Queue *
Get-Queue

キュー コマンドレットのフィルター パラメーター

すべてのキュー管理コマンドレットで Filter パラメーターを使用して、キューのプロパティに基づいて 1 つ以上のキューを識別できます。 Filter パラメーターは、比較演算子を使用して OPath フィルターを作成し、フィルター条件を満たすキューにコマンドを制限します。 論理演算子 -and を使用して、一致する複数の条件を指定できます。 構文の一般的な例を次に示します。

Get-Queue -Filter "<Property1> -<ComparisonOperator> '<Value1>' -and <Property2> -<ComparisonOperator> '<Value2>'..."

Filter パラメーターで使用できるキュー プロパティの完全な一覧については、「キューのプロパティ」を参照してください。

Filter パラメーターで使用できる比較演算子の一覧については、このトピックの「キューまたはメッセージをフィルター処理するときに使用する比較演算子」セクションを参照してください。

Filter パラメーターを使用してキューを表示および管理するプロシージャの例については、「キューのプロシージャ」を参照してください。

Get-Queueにパラメーターを含めるおよび除外する

Get-Queue コマンドレットの Include パラメーターと Exclude パラメーターは、それぞれ、または他のフィルター処理パラメーターと共に使用して、結果を微調整できます。 たとえば、次のようなことが可能です。

  • 空のキューを除外します。

  • 外部宛先へのキューを除外します。

  • DeliveryType の特定の値を持つキューを含めます。

Include パラメーターと Exclude パラメーターは次のキュー プロパティを使用してキューをフィルター処理します。

説明
DeliveryType メッセージを次ホップに送信する方法を定義する DeliveryType プロパティに基づいてキューを含めるか除外します。 有効な値については、「 NextHopSolutionKey」を参照してください
複数の値をコンマで区切って指定できます。
次ホップがローカル サーバーでホストされ、スマート ホスト ルーティング用に構成されている送信コネクタであるローカル サーバー上のすべての配信キューを返します。
Get-Queue -Include SmartHostConnectorDelivery
Empty 空のキューを含めるか除外します。 空のキューには、MessageCount プロパティの値0があります。 メッセージを含むローカル サーバー上のすべてのキューを返します。
Get-Queue -Exclude Empty
External NextHopCategory プロパティの値Externalを持つキューを含めるか除外します。

外部キューは、常に、 DeliveryType の値が次のいずれかになります。

  • DeliveryAgent
  • DnsConnectorDelivery
  • NonSmtpGatewayDelivery
  • SmartHostConnectorDelivery

詳細については、「 NextHopSolutionKey」をご覧ください。

ローカル サーバー上のすべての内部キューを返します。
Get-Queue -Exclude External
Internal この値には、NextHopCategory プロパティの値Internalを持つキューが含まれるか除外されます。 外部受信者のメッセージは、外部に配信されるゲートウェイ サーバーに到達する前に、複数の内部ホップを必要とする場合があることに注意してください。 ローカル サーバー上のすべての内部キューを返します。
Get-Queue -Include Internal

Filter パラメーターを使用して、Include パラメーターと Exclude パラメーターの機能を複製できることに注意してください。 たとえば、次のコマンドは同じ結果を生成します。

  • Get-Queue -Exclude Empty

  • Get-Queue -Filter "MessageCount -gt 0"

ただし、ご覧のとおり、 Include パラメーターと Exclude パラメーターの構文は簡単で覚えやすくなります。

Get-QueueDigest

Get-QueueDigest コマンドレットを使用すると、1 つのコマンドを使用して、組織内のキューの一部または全部に関する情報を表示できます。 具体的には、 Get-QueueDigest コマンドレットは、サーバー、DAG、Active Directory サイト、または Active Directory フォレスト全体の場所に基づいて、キューに関する情報を表示できます。

サブスクライブされたエッジ トランスポート サーバー上のキューは結果に含まれないことに注意してください。 また、 Get-QueueDigest はエッジ トランスポート サーバーで使用できますが、結果はエッジ トランスポート サーバー上のローカル キューに制限されます。

注:

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

次の表では、 Get-QueueDigest コマンドレットで使用できるフィルター処理と並べ替えパラメーターについて説明します。

パラメーター 説明
DagServer、または Site これらのパラメーターは相互に排他的であり (同じコマンドでは使用できません)、コマンドレットのスコープを設定します。 これらのパラメーターまたは フォレスト スイッチのいずれかを指定する必要があります。 一般にサーバー、DAG、または Active Directory サイトの名前を使用しますが、そのサーバー、DAG、またはサイトを一意で特定する値には任意のものを使用できます。 複数のサーバー、DAG、またはサイトをコンマで区切って指定できます。
Forest DagServer、または Site パラメーターを使用していない場合は、この切り替えが必要です。 このスイッチを使用する場合は値を指定しません。 このスイッチを使用すると、ローカル Active Directory フォレスト内のすべての Exchange メールボックス サーバーからキューを取得できます。 このスイッチを使用して、リモート Active Directory フォレスト内のキューを表示することはできません。
DetailsLevel Normal は既定値です。 結果では、次のプロパティが返されます。
  • QueueIdentity
  • ServerIdentity
  • MessageCount

Verbose は、結果に次の追加プロパティを返します。

  • DeferredMessageCount
  • LockedMessageCount*
  • IncomingRate
  • OutgoingRate
  • Velocity
  • NextHopDomain
  • NextHopCategory
  • NextHopConnector
  • DeliveryType*
  • 状態
  • RiskLevel*
  • OutboundIPPool*
  • LastError
  • TlsDomain

None は、結果の [詳細 ] 列からキュー名を省略します。

* これらのプロパティは、Microsoft の内部使用のために予約されており、オンプレミスの Exchange 組織では使用されません。 この一覧のすべてのプロパティの詳細については、「 Queue プロパティ」を参照してください。

フィルター 「Queue コマンドレットの Filter パラメーター」セクションで説明されているように、キューのプロパティに基づいて キューをフィルター 処理します。 「キューのプロパティ」トピックの説明に従って、任意のフィルター可能な キュー プロパティ を使用できます。
GroupBy キューの結果をグループ化します。 次のプロパティのいずれかによって結果をグループ化することができます。
  • DeliveryType
  • LastError
  • NextHopCategory
  • NextHopDomain
  • NextHopKey
  • 状態
  • ServerName

既定では、NextHopDomain によって結果がグループ化されます。 これらのキュー プロパティの詳細については、「 キューのプロパティ」を参照してください。

Resultsize キューの結果を指定した値に制限します。 キューは、キュー内のメッセージの数に基づいて降順で並べ替え、 GroupBy パラメーターで指定された値でグループ化されます。 既定値は 1,000 です。 これは、既定では、コマンドが NextHopDomain によってグループ化された上位 1,000 個のキューを表示し、最大数のメッセージを含むキューから最小数のメッセージを含むキューの順に並べ替えることを意味します。
Timeout パラメーターは、操作がタイムアウトするまでの秒数を指定します。既定値は 00:00:10 10 秒です。

次の使用例は、Mailbox01、Mailbox02、Mailbox03 という名前のサーバー上のすべての空でない外部キューを返します。

Get-QueueDigest -Server Mailbox01,Mailbox02,Mailbox03 -Include External -Exclude Empty

メッセージ フィルター処理パラメーター

次の表は、メッセージ管理コマンドレットで使用できるフィルター処理パラメーターをまとめたものです。

コマンドレット フィルター処理パラメーター Comments
Get-Message フィルター
Identity
Queue
サーバー
同じコマンドで FilterIdentity、または Queue パラメーターを使用することはできません。
Server パラメーターは、コマンドを実行するサーバーを指定します。 サーバー パラメーターとフィルター パラメーターは、同じコマンドで使用できます。
Remove-Message
Resume-Message
Suspend-Message
フィルター
Identity
サーバー
Identity パラメーターまたは Filter パラメーターを使用する必要がありますが、両方を同じコマンドで使用することはできません。
Server パラメーターは、コマンドを実行するサーバーを指定します。 サーバー パラメーターとフィルター パラメーターは、同じコマンドで使用できます。
Redirect-Message サーバー このコマンドレットは、指定したサーバー上のすべての配信キューからアクティブなメッセージをドレインするため、使用可能な唯一のフィルター処理パラメーターは Server です。 詳細については、「 キュー内のメッセージをリダイレクトする」を参照してください。
Export-Message Identity このパラメーターは、メッセージを一意に識別するため、実際にはフィルターではありません。 このコマンドレットの複数のメッセージを識別するには、 Get-Message を 使用し、結果を Export-Message にパイプします。 詳細と例については、「 キューからメッセージをエクスポートする」を参照してください。

メッセージ ID

メッセージ管理コマンドレットの Identity パラメーターは、1 つ以上のキュー内のメッセージを一意に識別するため、他のメッセージ フィルター パラメーターを使用することはできません。 Identity パラメーターは、基本的な構文 を使用します<Server>\<Queue>\<MessageInteger>

次の表では、メッセージ管理コマンドレットで Identity パラメーターで使用できる構文について説明します。

**Identity パラメーター値 説明**
<Server>\<Queue>\<MessageInteger> または <Queue>\<MessageInteger> 指定したサーバーまたはローカル サーバー上の特定のキュー内のメッセージ。

<Queue> は、「キュー ID」セクションで説明されているように 、キューの ID です。

  • 永続キュー名
  • 配信キュー名
  • キュー整数
  • シャドウ キュー ID

<MessageInteger> は、最初にサーバー上のキュー データベースに入るときにメッセージに割り当てられる一意の整数値です。 メッセージが複数のキューを必要とする複数の受信者に送信される場合、キュー データベース内のすべてのキューにあるメッセージのコピーは、すべて同じ整数値を持つことになります。 ただし、この値を Identity プロパティまたは MessageIdentity プロパティで見つけるには、Get-Message コマンドレットを実行する必要があります。

<Server>\*\<MessageInteger>または*\<MessageInteger><MessageInteger> 指定したサーバーまたはローカル サーバー上のキュー データベース内のすべてのキュー内のメッセージのすべてのコピー。

メッセージ コマンドレットのフィルター パラメーター

Filter パラメーターを Get-Message、Remove-MessageResume-MessageSuspend-Message コマンドレットと共に使用すると、メッセージのプロパティに基づいて 1 つ以上のメッセージを識別できます。 Filter パラメーターは、比較演算子を使用して OPath フィルターを作成し、フィルター条件を満たすメッセージにコマンドを制限します。 論理演算子 -and を使用して、一致する複数の条件を指定できます。 構文の一般的な例を次に示します。

Get-Message -Filter "<Property1> -<ComparisonOperator> '<Value1>' -and <Property2> -<ComparisonOperator> '<Value2>'..."

Filter パラメーターで使用できるメッセージ プロパティの完全な一覧については、「メッセージ のプロパティ」を参照してください。

Filter パラメーターで使用できる比較演算子の一覧については、このトピックの「キューまたはメッセージをフィルター処理するときに使用する比較演算子」セクションを参照してください。

メッセージを表示および管理するために Filter パラメーターを使用するプロシージャの例については、「 キュー内のメッセージのプロシージャ」を参照してください。

キュー パラメーター

Queue パラメーターは、Get-Message コマンドレットでのみ使用できます。 このパラメーターを使用すると、ワイルドカード文字 (*) を使用して、特定のキュー内のすべてのメッセージ、または複数のキューからすべてのメッセージを取得できます。 Queue パラメーターを使用する場合は、このトピックの「キュー ID」セクションの説明に従って、キュー ID 形式<Server>\<Queue>を使用します。

キューまたはメッセージのフィルター処理に使用する比較演算子

Filter パラメーターを使用してキューまたはメッセージ フィルター式を作成するには、一致させるプロパティ値に対する比較演算子を含める必要があります。 使用できる比較演算子と、各演算子関数の説明を次の表に示します。 すべての演算子は、比較する値の大文字小文字を区別しません。

オペレーター 機能 コード例
-eq 指定した値と完全に一致します。 状態が [再試行] になっているすべてのキューを表示します。
Get-Queue -Filter "Status -eq 'Retry'"
状態が [再試行] になっているすべてのメッセージを表示します。
Get-Message -Filter "Status -eq 'Retry'"
-ne 指定した値と一致しません。 状態が [アクティブ] になっていないすべてのキューを表示します。
Get-Queue -Filter "Status -ne 'Active'"
状態が [アクティブ] になっていないすべてのメッセージを表示します。
Get-Message -Filter "Status -ne 'Active'"
-gt 指定した整数または日付/時刻の値より大きい。 現在 1,000 を超えるメッセージを含むキューを表示します。
Get-Queue -Filter "MessageCount -gt 1000"
現在、再試行回数が 3 を超えるメッセージを表示します。
Get-Message -Filter "RetryCount -gt 3"
-ge 指定した整数または日付/時刻の値以上。 現在 1,000 以上のメッセージを含むキューを表示します。
Get-Queue -Filter "MessageCount -ge 1000"
現在再試行回数が 3 以上のメッセージを表示します。
Get-Message -Filter "RetryCount -ge 3"
-lt 指定された整数または日付/時刻の値より小さい。 現在 1,000 個未満のメッセージを含むキューを表示します。
Get-Queue -Filter "MessageCount -lt 1000"
SCL が 6 未満のメッセージを表示します。
Get-Message -Filter "SCL -lt 6"
-le 指定した整数または日付/時刻の値以下。 現在 1,000 個以下のメッセージを含むキューを表示します。
Get-Queue -Filter "MessageCount -le 1000"
SCL が 6 以下のメッセージを表示します。
Get-Message -Filter "SCL -le 6"
-like 指定したテキストを格納します。 テキスト文字列にワイルドカード文字 (*) を含める必要があります。 Contoso.com で終了するすべての SMTP ドメインへの宛先を持つキューを表示します。
Get-Queue -Filter "Identity -like '*contoso.com'"
"payday loan" というテキストを含む件名を持つメッセージを表示します。
Get-Message -Filter "Subject -like '*payday loan*'"

論理演算子 -andを使用して、複数の式を評価するフィルターを指定できます。 キューまたはメッセージは、結果に含まれるすべてのフィルター条件と一致する必要があります。

この例では、Contoso.com で終わる SMTP ドメイン名を送信先に持つキューと、現在 500 を超えるメッセージが存在するキューの一覧が表示されます。

Get-Queue -Filter "Identity -like '*contoso.com*' -and MessageCount -gt 500"

次の使用例は、SCL 値が 5 より大きい contoso.com ドメイン内の任意の電子メール アドレスから送信されるメッセージの一覧を表示します。

Get-Message -Filter "FromAddress -like '*Contoso.com*' -and SCL -gt 5"

高度なページ パラメーター

Exchange 管理シェルを使用してキュー内のキューとメッセージを表示すると、クエリは一度に 1 ページの情報を取得します。 詳細ページング パラメーターは、結果のサイズと結果の表示順序を制御します。 すべての高度なページング パラメーターは省略可能であり、 Get-Queue コマンドレットと Get-Message コマンドレットで他のフィルター 処理パラメーターの有無にかかわらず使用できます。 高度なページ パラメーターを指定しない場合、クエリは ID を昇順に並べて結果を返します。

既定では、並べ替え順序を指定すると、 Identity プロパティは常に含まれ、昇順で並べ替えられます。これは、他の使用可能なキューまたはメッセージ プロパティが一意ではないのでです。

BookmarkIndex パラメーターと BookmarkObject パラメーターを使用して、並べ替えられた結果の位置をマークできます。 結果の次のページを取得するときにブックマーク オブジェクトが存在しなくなった場合、結果はブックマークに最も近い項目から始まります。これは、指定した並べ替え順序によって異なります。

詳細なページング パラメーターについては、次の表を参照してください。

パラメーター 説明
BookmarkIndex 表示される結果の開始位置を指定します。 このパラメーターの値は、合計結果の 1 から始まるインデックスです。 値が 0 以下の場合は、結果の最初の完全なページが返されます。 値が に Int.MaxValue設定されている場合は、結果の最後の完了ページが返されます。
BookmarkObject パラメーターでは、このパラメーターを使用できません。
BookmarkObject 表示される結果が開始する結果のオブジェクトを指定します。 ブックマーク オブジェクトを指定すると、オブジェクトは検索の開始場所として使用されます。 そのオブジェクトの前後の行 ( SearchForward パラメーターの値に応じて) が取得されます。
BookmarkIndex パラメーターでは、このパラメーターを使用できません。
IncludeBookmark 結果にブックマーク オブジェクトを含めるかどうかを指定します。 有効な値は次のとおりです。
$true: ブックマーク オブジェクトが結果に含まれます。 これは既定の値です。
$false: ブックマーク オブジェクトは結果に含まれません。 この値は、限られた結果サイズのクエリを実行し、次のクエリのブックマークとして最後の項目を指定するときに使用します。 これにより、ブックマーク オブジェクトが両方の結果に含まれなくなります。
Resultsize ページごとに表示する結果の数を指定します。 値を指定しない場合は、既定の結果サイズである 1,000 オブジェクトが使用されます。 Exchange では、結果が 250,000 に制限されます。
ReturnPageInfo これは非表示のパラメーターです。 結果の合計数および現在のページの最初のオブジェクトのインデックスに関する情報を返します。 既定値は $false です。
SearchForward 検索の方向を指定します。
指定されたブックマーク: ブックマーク インデックスまたはオブジェクトを基準にして、結果を前方または後方に検索します。
ブックマークが指定されていない: 結果の最初または最後の項目の結果を前方または後方に検索します。
有効な値は次のとおりです。
$true: 結果の最初の項目から、または指定したブックマークから前方に検索します。 ブックマークを超える結果がない場合、クエリは結果の最後の完全なページを返します。 これは既定の値です。
$false: 結果の最後の項目から、または指定したブックマークから後方に検索します。 ブックマークを超える結果の完全なページ未満の場合、クエリは結果の最初の完全なページを返します。
SortOrder 結果の並べ替え順序を制御するメッセージ プロパティを指定します。 プロパティが指定される順序は、優先順位の降順を示します (結果は最初のプロパティで並べ替えられます。次に、それらの結果は 2 番目のプロパティで並べ替えられます。次に、son on)。
このパラメーターでは、 <+|-><Property1>,<+|-><Property2>...という構文を使用します。ここで + 、プロパティは昇順で並べ替え、 - プロパティは降順で並べ替えられます。
このパラメーターを使用しない場合、結果は Identity プロパティによって昇順で並べ替えられます。

この例では、クエリで高度なページング パラメーターを使用する方法を示します。 コマンドは、指定されたサーバー上の最初の 500 個のメッセージを返します。 結果は、最初に送信者アドレスで昇順に並べ替え、次にメッセージ サイズで降順に並べ替えられます。

Get-Message -Server mailbox01.contoso.com -ResultSize 500 -SortOrder +FromAddress,-Size

次の使用例は、指定した並べ替え順序で指定したサーバー上の最初の 500 個のメッセージを返し、ブックマーク オブジェクトを設定し、結果からブックマーク オブジェクトを除外し、次の 500 個のメッセージを同じ並べ替え順序で取得します。

  1. 次のコマンドを実行して、結果の最初のページを取得します。

    $Results=Get-Message -Server mailbox01.contoso.com -ResultSize 500 -SortOrder +FromAddress,-Size
    
  2. ブックマーク オブジェクトを設定するには、次のコマンドを実行して、最初のページの最後の要素を変数に保存します。

    $Temp=$Results[$results.length-1]
    
  3. 指定したサーバー上の次の 500 個のオブジェクトを取得し、ブックマーク オブジェクトを除外するには、次のコマンドを実行します。

    Get-Message -Server mailbox01.contoso.com -BookmarkObject:$Temp -IncludeBookmark $false -ResultSize 500 -SortOrder +FromAddress,-Size