Exchange PowerShell コマンドの受信者 フィルター

PowerShell の Exchangeおよび powerShell Exchange Onlineのコマンドレットは、受信者関連のコマンドレットのさまざまなフィルターをサポートします。

  • 既定のフィルター
  • RecipientFilter パラメーターを 使用したカスタム フィルター
  • Filter パラメーターを使用した カスタム フィルター
  • カスタム フィルター (ContentFilter パラメーターを使用)

以前のバージョンの Exchange では、LDAP フィルター構文を使用して、カスタム アドレス一覧、グローバル アドレス一覧 (GAL)、電子メール アドレス ポリシー、配布グループを作成しました。 OPATH フィルター構文は、2007 年から始まる LDAP フィルター Exchange Server置き換えました。

既定のフィルター

事前に作成されたフィルターは、動的配布グループ、電子メール アドレス ポリシー、アドレス一覧、または GAL を作成するためのさまざまな受信者フィルター条件を満たすために使用できる一般的な Exchange フィルターです。 事前に作成されたフィルターを使用すると、PowerShell または Exchange管理センター (EAC) Exchange使用できます。 既定のフィルターを使用して、以下の操作を実行することができます。

  • 受信者のスコープを指定します。
  • 会社名、部署、都道府県などのプロパティに基づいて、条件付きフィルターを追加します。
  • 受信者のカスタム属性を追加します。詳細については、「Custom Attributes」を参照してください。

次のパラメーターは、既定のフィルターと見なされます。

  • IncludedRecipients
  • ConditionalCompany
  • ConditionalDepartment
  • ConditionalStateOrProvince
  • ConditionalCustomAttribute1 ~ ConditionalCustomAttribute15.

既定のフィルターは、次のコマンドレットで使用できます。

事前に作成されたフィルターの例

この例では、管理シェルで事前に作成されたフィルター Exchange動的配布グループを作成する方法について説明します。 この例の構文は、電子メール アドレス ポリシー、アドレス一覧、または GAL の作成に使用する構文と似ていますが、同じではありません。 既定のフィルターを作成する際には、次の内容を確認する必要があります。

  • グループに含める受信者が所属する組織単位 (OU)(これは RecipientContainer パラメーターに対応します。)

    注意

    ここでの OU の選択は、動的配布グループの作成時にのみ適用され、電子メール アドレス ポリシー、アドレス一覧、または GAL の作成時には適用されません。

  • グループに含める受信者の種類(これは IncludedRecipients パラメーターに対応します。)

  • フィルターに追加する条件(これは ConditionalCompanyConditionalDepartmentConditionalStateOrProvince、および ConditionalCustomAttribute パラメーターに対応します。)

この例では、"Contoso.com/Users" という OU 内のユーザー メールボックスに "Contoso Finance" という動的配布グループを作成し、Department 属性が "Finance/財務"、Company 属性が "Contoso" と定義されている受信者のみを含めるという条件を指定します。

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

この例では、この新しい動的配布グループのプロパティを表示します。

Get-DynamicDistributionGroup -Identity "Contoso Finance" | Format-List Recipient*,Included*

カスタム フィルター (RecipientFilter パラメーターを使用)

既定のフィルターで、必要な動的配布グループ、電子メール アドレス ポリシー、およびアドレス一覧の作成や変更を行えない場合は、RecipientFilter パラメーターを使用してカスタム フィルターを作成できます。

受信者フィルター パラメーターは、次のコマンドレットで使用できます。

RecipientFilter パラメーターで使用できるフィルター可能なプロパティの詳細については、「 RecipientFilter パラメーターのフィルター可能な プロパティ」を参照してください

カスタム フィルターの例

次の例では、RecipientFilter パラメーターを使用して動的配布グループを作成します。この例の構文は、電子メール アドレス ポリシー、アドレス一覧、または GAL の作成に使用する構文と似ていますが、同じではありません。

この例では、カスタム フィルターを使用して、Company 属性が "Contoso"、Office 属性が "North Building/北館" と定義されているユーザー メールボックス用の動的配布グループを作成します。

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

カスタム フィルター (Filter パラメーターを使用)

Filter パラメーターを使用してコマンドの結果をフィルター処理し、取得するオブジェクトを指定できます。たとえば、すべてのユーザーまたはグループを取得する代わりに、フィルター文字列を使用することで一連のユーザーまたはグループを指定できます。この種類のフィルターでは、オブジェクトの構成や属性は変更されません。変更されるのは、コマンドから返されるオブジェクトのセットだけです。

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

Filter パラメーターが含まれるコマンドレットのフィルター可能なプロパティを検索するには、オブジェクトに対して Get コマンドを実行し、Format-List パラメーターによりパイプライン処理して出力をフォーマットします。ここで返される値のほとんどは、Filter パラメーターで使用できます。次の例では、メールボックス "Ayla" の詳細リストを返します。

Get-Mailbox -Identity Ayla | Format-List

Filter パラメーター は、次の受信者コマンドレットで使用できます。

Filter パラメーターで使用できるフィルター可能なプロパティの詳細については、「 Filter パラメーターの Filterable プロパティ」を参照してください

この例では、Filter パラメーターを使用して役職に "manager/マネージャー" という単語が含まれるユーザーに関する情報を返します。

Get-User -Filter "Title -like 'Manager*'"

カスタム フィルター (ContentFilter パラメーターを使用)

ContentFilter パラメーターを使用して特定のメッセージ内容を選択し、これを New-MailboxExportRequest コマンドレットの使用時にエクスポートできます。コンテンツ フィルターと一致する内容を含むメッセージが見つかると、そのメッセージが .pst ファイルにエクスポートされます。

ContentFilter パラメーターの例

この例では、"Ayla" のメールボックスで本文に "company prospectus/企業目論見書" という語句が含まれるメッセージを検索するエクスポート要求を作成します。この語句が見つかると、この語句を含むメッセージのすべてが .pst ファイルにエクスポートされます。

New-MailboxExportRequest -Mailbox Ayla -ContentFilter "Body -like 'company prospectus*'"

ContentFilter パラメーターで使用できるフィルター可能なプロパティの詳細については、「 ContentFilter パラメーターのフィルター可能な プロパティ」を参照してください

OPATH 構文の追加情報

独自のカスタム OPath フィルターを作成する場合は、次の項目を検討してください。

  • 検索する値の種類を識別するには、次の構文を使用します。

    • テキスト値: テキストを単一引用符 (たとえば、または) で囲 'Value' みます 'Value with spaces'。 または、テキスト値を二重引用符で囲んでも、OPath フィルター全体を囲むのに使用できる文字が制限されます。

    • 変数: 展開する必要がある変数を単一引用符 (たとえば) で囲みます '$User'。 変数値自体に単一引用符が含まれている場合は、変数を正しく展開するために単一引用符を識別 (エスケープ) する必要があります。 たとえば、'$User'の代わりに'$($User -Replace "'","''")'を使用します。

    • 整数値: 整数 (たとえば) を囲む必要があります 500。 多くの場合、整数を単一引用符または二重引用符で囲めることができますが、OPath フィルター全体を囲むのに使用できる文字は制限されます。

    • システム値: システム値 ( $trueたとえば、) を $false囲む必要があります $null。 OPath フィルター全体を二重引用符で囲むには、システム値 (たとえば) でドル記号をエスケープする必要があります `$true

  • OPath フィルター全体を二重引用符 " または " 単一引用符 ' ' で囲む必要があります。 OPath フィルター オブジェクトは技術的にはスクリプト ブロックではなく文字列ですが、展開を必要とする変数がフィルターに含まれている場合にのみ、中かっこ { }を使用できます。 OPath フィルター全体を囲む場合に使用できる文字は、検索する値の種類と、それらの値を囲むのに使用した (または使用しなかった) 文字によって異なっています。

    • テキスト値: 検索するテキストの囲み方によって異なります。

      • 単一引用符で囲まれたテキスト: OPath フィルター全体を二重引用符または中かっこで囲みます。
      • 二重引用符で囲まれたテキスト: OPath フィルター全体を中かっこで囲みます。
    • 変数: OPath フィルター全体を二重引用符 (たとえば) で囲みます "Name -eq '$User'"

    • 整数値: 検索する整数の囲み方 (または囲んでなかった) に依存します。

      • 整数を囲む: OPath フィルター全体を二重引用符、単一引用符、または中かっこ (たとえば) で囲みます "CountryCode -eq 840"
      • 単一引用符で囲まれた整数: OPath フィルター全体を二重引用符または中かっこで囲みます "CountryCode -eq '840'"
      • 二重引用符で囲まれた整数: OPath フィルター全体を中かっこで囲みます (たとえば {CountryCode -eq "840"})。
    • システム値: OPath フィルター全体を単一引用符または中かっこ (たとえば) で囲みます 'HiddenFromAddressListsEnabled -eq $true'。 ドル記号システム値をエスケープする場合は、OPath フィルター全体を二重引用符 (たとえば) で囲む場合があります "HiddenFromAddressListsEnabled -eq `$true"

    検索条件の互換性と、OPath フィルター全体を囲むのに使用できる有効な文字を次の表に示します。



検索値 OPath フィルター
で囲む
二重引用符
OPath フィルター
で囲む
単一引用符
で囲まれた OPath フィルター
中かっこ
'Text' チェック マーク。 チェック マーク。
"Text" チェック マーク。
'$Variable' チェック マーク。
500 チェック マーク。 チェック マーク。 チェック マーク。
'500' チェック マーク。 チェック マーク
"500" チェック マーク
$true チェック マーク。 チェック マーク
`$true チェック マーク。 チェック マーク チェック マーク
  • すべての論理演算子または比較演算子の前にハイフンを含める。 最も一般的な演算子は次のとおりです。

    • -and
    • -or
    • -not
    • -eq (等しい)
    • -ne (等しくない)
    • -lt (より小さい)
    • -gt (より大きい)
    • -like (文字列比較)
    • -notlike (文字列比較)
  • 多くのフィルター可能なプロパティでは、ワイルドカード文字を使用できます。 ワイルドカード文字を使用する場合、 -eq 演算子の代わりに -like 演算子を使用します。 リッチタイプ (文字列など ) のパターン一致を検索するには、-like 演算子を使用します。 完全一 致を検索するには、-eq 演算子を使用します。

    PowerShell で -like 演算子 をExchange Online、ワイルドカード文字は接尾辞としてのみサポートされます。 たとえば、許可 "Department -like 'sales*'" されます。 "Department -like '*sales'" 許可されません。

  • 使用できる演算子の詳細については、以下を参照してください。

受信者フィルターのドキュメント

次の表に、受信者コマンドで使用できるフィルター可能なプロパティの詳細について説明する記事へのリンクExchange示します。

記事 説明
コマンドレットの RecipientFilter パラメーターのフィルター Exchangeプロパティ RecipientFilter パラメーターで使用できるフィルター可能なプロパティの詳細 について学習 します。
コマンドレットの Filter パラメーターのフィルター Exchangeプロパティ Filter パラメーターで使用できるフィルター可能なプロパティについて 詳しくは、次の情報をご覧 ください。
EXO V2 モジュールのフィルター PowerShell V2 モジュールを使用して PowerShell に接続する際Exchange Onlineに関する考慮事項Exchange Online説明します。