受信者コマンドのフィルタの作成

 

適用先: Exchange Server 2007 SP3, Exchange Server 2007 SP2, Exchange Server 2007 SP1, Exchange Server 2007

トピックの最終更新日: 2007-11-15

いくつかの Exchange  管理シェル コマンドで、受信者にフィルタをかけることができます。Exchange  コマンドによるフィルタ処理には 2 種類があります。結果のフィルタ処理と、コマンド内の属性のフィルタ処理です。

結果にフィルタを適用するには、カスタム フィルタを使用する必要があります。コマンド内の属性にフィルタを適用するには、既定フィルタ、またはカスタム フィルタのいずれかを使用できます。

既定のフィルタは、よく使用される Exchange 2007 フィルタです。このフィルタを使用すれば、さまざまな受信者フィルタ処理の条件を満たすことができます。たとえば、既定のフィルタを使用して次の操作を実行できます。

  • 受信者のスコープを指定します。
  • 会社、部署、都道府県などのプロパティに基づいて、条件付きフィルタを追加します。
  • 受信者のカスタム属性を追加します。

これらのパラメータよりも詳細なフィルタが必要である場合、OPATH フィルタ構文を使用して、Exchange 管理シェルですべてのプロパティを参照することで、カスタム フィルタを定義できます。

結果のフィルタ処理

この種類のフィルタ処理では、コマンドの結果にフィルタを適用できます。たとえば、Get-UserGet-RecipientGet-MailboxGet-MailUserGet-ContactGet-MailContactGet-GroupGet-DistributionGroup、および Get-DynamicDistributionGroup コマンドレットはいずれにも、Filter パラメータがあり、これを使用することで、コマンドで取得するユーザーやグループを指定できます。すべてのユーザーまたはグループを取得する代わりに、フィルタ文字列を使用することで、取得するユーザーまたはグループを指定できます。この種類のフィルタでは、オブジェクトの構成や属性は変更されません。変更されるのは、コマンドから返されるオブジェクトのセットだけです。

-Filter パラメータで使用できるフィルタ可能なプロパティの詳細については、以下のトピックを参照してください。

note注 :
Filter パラメータでコマンドの結果を変更するのは、サーバー側のフィルタ処理です。サーバー側のフィルタ処理では、コマンドとフィルタがサーバーに送信され、サーバーで処理されます。Exchange  管理シェルではクライアント側のフィルタ処理もサポートしています。この場合、コマンドはサーバーからすべてのオブジェクトを取得し、その後、ローカルのコンソール ウィンドウでフィルタを適用します。クライアント側のフィルタ処理を実行するには、Where-Object コマンドレットを使用します。サーバー側のフィルタ処理およびクライアント側のフィルタ処理の詳細については、「コマンド出力の操作」の「データをフィルタ処理する方法」を参照してください。

コマンド内の属性のフィルタ処理

この種類のフィルタ処理では、コマンドの対象となる属性を指定できます。既定のフィルタを使用する方法と、独自のカスタム フィルタを作成する方法があります。たとえば、New-DynamicDistributionGroupSet-DynamicDistributionGroupNew-EmailAddressPolicySet-EmailAddressPolicyNew-AddressListSet-AddressListNew-GlobalAddressList、および Set-GlobalAddressList コマンドレットには、IncludedRecipientsConditionalCompanyConditionalDepartment、および ConditionalStateOrProvince パラメータがあります。これらのパラメータでは、既定のフィルタを使用して、コマンドの適用対象であるユーザー群を決定します。これらのコマンドレットには RecipientFilter パラメータもあり、このパラメータを使用してカスタム フィルタを作成できます。既定のフィルタとカスタム フィルタのどちらを使用する場合でも、受信者を指定して、動的配布グループ、電子メール アドレス ポリシー、アドレス一覧、またはグローバル アドレス一覧 (GAL) に含めることができます。

-RecipientFilter パラメータで使用できるフィルタ可能なプロパティの詳細については、以下のトピックを参照してください。

カスタム フィルタの作成

Filter パラメータでコマンドの結果に適用するカスタム フィルタを作成するには、または RecipientFilter パラメータでコマンド内の属性に適用するカスタム フィルタを作成するには、フィルタの文字列を指定する必要があります。Exchange  管理シェルでは 、フィルタ構文に OPath を使用します。 OPath は、オブジェクト データ ソースをクエリするために設計されたクエリ言語です。Exchange 管理シェルでは、フィルタを作成するために Microsoft Exchange Server 2003 で使用していた複雑な構文の LDAP (ライトウェイト ディレクトリ アクセス プロトコル) を使用する必要がなくなります。その代わりに、より簡便な OPath 構文を使用してフィルタを作成できます。

note注 :
既定のフィルタで動的配布グループ、電子メール アドレス ポリシー、アドレス一覧、または GAL を作成するには、Exchange 管理コンソールでウィザードを使用するか、または Exchange 管理シェルを使用します。カスタム フィルタで動的配布グループ、電子メール アドレス ポリシー、アドレス一覧、または GAL を作成するには、Exchange 管理シェルで適切なコマンドレットに RecipientFilter パラメータを指定して使用する必要があります。

既定のフィルタの例

ここでは、既定のフィルタを使用して動的配布グループを作成する例について説明します。コマンド例で使用される構文は、新しい電子メール アドレス ポリシー、アドレス一覧、または GAL の作成に使用する構文と似ていますが、同じではありません。

動的配布グループの新規作成ウィザードで動的配布グループを作成する場合は、以下のフィルタ処理情報を選択する必要があります。

  • グループに含める受信者が所属する組織単位

    note注 :
    グループに含めたい受信者が所属する組織単位の選択は、動的配布グループを作成する場合にのみ適用されます。電子メール アドレス ポリシー、アドレス一覧、または GAL の作成には適用されません。
  • グループに含める受信者の種類

  • フィルタに追加する条件

次の図では、フィルタ情報を選択する動的配布グループの新規作成ウィザードのページを示します。

[フィルターの設定] ページ [組織単位の選択] ページ [条件] ページ

これらのフィルタ オプションのそれぞれは、New-DynamicDistributionGroup コマンドまたは Set-DynamicDistributionGroup コマンドの既定フィルタのパラメータに対応しています。

最初の組織単位に関するフィルタ オプションは、コマンドの RecipientContainer パラメータに対応します。2 番目の受信者の種類に関するフィルタ オプションは、IncludedRecipients パラメータに対応します。3 番目の追加条件に関するフィルタ オプションは、ConditionalCompanyConditionalDepartmentConditionalStateOrProvince、および ConditionalCustomAttribute の各パラメータに対応します。

note注 :
OrganizationalUnit パラメータには、新しい動的配布グループを作成する場所を指定します。RecipientContainer パラメータは、動的配布グループに追加される受信者が所属する組織単位を指定するフィルタ パラメータです。

たとえば、動的配布グループの新規作成ウィザードで、Contoso.com/Users という組織単位から受信者を選択し、UserMailbox オブジェクトを選択し、部署が財務で会社が Contoso と定義された受信者のみを含めるという条件を選択することができます。

同じ動的配布グループを Exchange 管理シェルで作成するには、以下のコマンドを実行します。

New-DynamicDistributionGroup -Name ContosoFinance -OrganizationalUnit Contoso.com/Users -RecipientContainer Contoso.com/Users -IncludedRecipients MailboxUsers -ConditionalDepartment "Finance" -ConditionalCompany "Contoso"

この新しい配布グループのプロパティを表示するには、以下のコマンドを実行します。

Get-DynamicDistributionGroup -Identity ContosoFinance | format-list *Recipient*,Included*

RecipientFilter プロパティを指定すると、このグループの作成に使用された OPath フィルタ構文が表示されます。RecipientFilterType プロパティは Precanned です。つまり、このグループのフィルタは既定のフィルタを使用して作成されました。LdapRecipientFilter プロパティは、以前のバージョンの Exchange でこのグループを作成する場合に使用した LDAP フィルタを表示する、読み取り専用プロパティです。

カスタム フィルタの例

ここでは、カスタム フィルタを使用して動的配布グループを作成する例について説明します。コマンド例で使用される構文は、新しい電子メール アドレス ポリシー、アドレス一覧、または GAL の作成に使用する構文と似ていますが、同じではありません。

動的配布グループのカスタム フィルタを作成するには、New-DynamicDistributionGroup または Set-DynamicDistributionGroup コマンドレットで RecipientFilter パラメータを使用する必要があります。

たとえば、会社属性が Contoso と定義され、オフィスが北棟であるメールボックス受信者の動的配布グループを作成する場合は、カスタム フィルタを使用する必要があります。この動的配布グループを作成するには、以下のコマンドを実行します。

New-DynamicDistributionGroup -Name AllContosoNorth -OrganizationalUnit contoso.com/Users -RecipientFilter { ((RecipientType -eq 'UserMailbox') -and (Company -eq 'Contoso') -and (Office -eq 'North Building')) }

note注 :
OrganizationalUnit パラメータには、新しい動的配布グループを作成する場所を指定します。

OPath 構文の追加情報

独自のカスタム フィルタを作成する場合は、以下の点を確認してください。

  • Filter パラメータまたは RecipientFilter パラメータでは OPath 構文文字列の全体を波かっこ { } で囲みます。
  • 演算子の前には必ずハイフンを付けます。
  • よく使用する演算は以下のとおりです。
    • -and
    • -or
    • -not
    • -eq (等しい)
    • -ne (等しくない)
    • -lt (より小)
    • -gt (より大)
    • -like (文字列の比較)
    • -notlike (文字列の比較)
  • -RecipientFilter パラメータおよび -Filter パラメータの多くのプロパティは、ワイルドカード文字を受け付けます。ワイルドカード文字を使用する場合、-eq 演算子の代わりに -like 演算子を使用します。-like 演算子は、文字列などのさまざまな種類のパターン マッチを検索するために使用されますが、-eq 演算子は完全な一致を検索するために使用されます。
  • 使用できる演算子の詳細については、以下のコマンドを使用してください。
    • Help about_logical_operator
    • Help about_comparison_operator
  • 受信者の種類の大半のプロパティを使用してフィルタ文字列を作成できます。特定のコマンドレットで使用できるフィルタ可能なプロパティの詳細については、「Exchange 管理シェル (SP1 および SP2)」のコマンドレット関連トピックを参照してください。

詳細情報

Exchange 管理シェルでのパイプライン出力の詳細については、「パイプライン処理」を参照してください。

参照している情報が最新であることを確認したり、他の Exchange Server 2007 ドキュメントを見つけたりするには、Exchange Server TechCenter を参照してください。