Share via


Exchange Serverのメール フロー ルールの手順

メール フロー ルール (別名トランスポート ルール) は、Exchange 組織内を通過するメッセージを識別し、アクションを実行します。 メール フロー ルールの詳細については、「Exchange Serverのメール フロー ルール」を参照してください。

メールボックス サーバー上で、Exchange 管理センター (EAC) 内と Exchange 管理シェル 内のメール フロー ルールを管理できます。 エッジ トランスポート サーバー上では、Exchange 管理シェル のみ使用できます。

ヒント

規則が期待どおりに動作することを確認してください。 各ルールとルール間の相互動作を十分にテストしてください。

始める前に把握しておくべき情報

ヒント

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

メール フロー ルールを作成する

EAC を使用してメール フロー ルールを作成する

EAC は、テンプレート (条件とアクションのフィルター済みリスト) を使用したり、既存のルールをコピーしたり、あるいはルールをはじめから作ることでメール フロー ルールの作成を可能にします。

  1. EAC で、[ メール フロー>ルール] に移動し、次のいずれかのオプションを選択します。

    • テンプレートからルールを作成するには、[ 追加 ] ([追加] アイコン)をクリックし、テンプレート ( [新しいルールの作成] 以外の値) を選択します。

    • ルールをコピーするには、ルールを選択し、[ コピー ] (コピー アイコン.) を選択します。 ルールをコピーするオプションは EAC でのみ利用可能であることにご注意ください。

    • 新しいルールを最初から作成するには、[ 追加] ([追加] アイコン)、[ 新しいルールの作成] の順に選択します。

  2. [新しいルール] のページが開いたら、以下の設定を行ってください:

    • [名前]: ルールの一意のわかりやすい名前を入力します。

    • ルールの条件を選択する場合は、このルールを適用します。 すべてのメッセージにルールを適用したい場合、 [すべてのメッセージに適用] を選択します。 使用可能な条件の詳細については、Exchange Serverの「メール フロー ルールの条件と例外 (述語)」を参照してください。

    • 次の操作を行います。ルールのアクションを選択します。 アクションは条件に一致するメッセージに適用されます。 使用可能な条件の詳細については、「Exchange Serverのメール フロー ルールアクション」を参照してください。

    オプションのプロパティ:

    • 重大度レベルでこのルールを監査する: DLP ポリシーの場合、この設定では、DLP ポリシー検出レポートにルール一致データを表示する方法を指定します。 詳細は View DLP policy detection reports を参照してください。 チェック ボックスをオフにするか、値を [指定なし] で選択した場合、ルール一致はルール レポートには表示されません。

    • このルールのモードを選択する: 2 つのテスト モードのいずれかを使用して、メール フローに影響を与えずにルールをテストできます。 両モードとも、条件が満たされれば、メッセージ追跡ログにエントリが追加されます。 以下の値のうちの一つを選択します:

    • 適用: ルールがオンになり、メッセージの処理がすぐに開始されます。 ルールのすべてのアクションが実行されます。 これは既定の値です。

    • ポリシー ヒントを使用したテスト: ルールがオンになり、ポリシー ヒントアクション (ポリシー ヒントを使用して送信者に通知) が送信されますが、メッセージ配信に関連するアクションは実行されません。 このモードを使うには DLP が必要です。 詳細については ポリシー ヒント を参照してください。

    • ポリシー ヒントなしでテストする: DLP ポリシーの場合は、 インシデント レポートの生成とアクションへの送信 のみが適用されます。 メッセージ配信に関連したアクションは実行されません。

  3. [保存] をクリックすることでルールを作成したり、 [その他のオプション] をクリックして以下の追加設定を設定することができます:

    • 条件をさらに追加するには、[条件の追加] をクリックします。 複数の条件がある場合は、[X の削除] をクリックして条件を 削除できます。[ その他のオプション] をクリックすると、さらに多くの条件が使用可能であることに注意してください。

    • アクションをさらに追加するには、[アクションの追加] をクリックします。 複数のアクションがある場合は、[X の削除] をクリックしてアクションを 削除できます。[ その他のオプション] をクリックした後に使用できるアクションが増える点に注意してください。

    • ルールに対する例外を追加するには、 [例外を追加する] をクリックして、 [以下を除く] ドロップ ダウン リストを使用して例外を選択します。 例外を削除するには [削除] X をクリックします。

    • 次の日付にこのルールをアクティブにする: 特定の日付の後にルールを有効にする場合は、開始日を指定します。 ルールはその日付より前から有効化されますが、処理はされない事にご注意ください。

    • 次の日付にこのルールを非アクティブ化する: ルールで特定の日付にメッセージの処理を停止する場合は、終了日を指定します。 この場合でも、ルールは日付の後も有効ですが、処理されないことに注意してください。

    • [その他のルールの処理を停止する]: このルールがメッセージを処理した後に追加のルールを適用しないようにするには、このチェック ボックスをオンにします。

    • ルール処理が完了しない場合はメッセージを延期する: 処理のためにメッセージを再送信するには、このチェック ボックスをオンにします。 既定では、ルールは無視され、メッセージの配信は通常どおり続行されます。

    • メッセージ内の送信者アドレスの一致: 送信者のアドレスを調べる条件と例外については、メッセージ ヘッダー (既定値)、メッセージ エンベロープ、またはヘッダーとエンベロープで、送信者のアドレスを検索するルールの場所を指定できます。 詳細については、「 送信者」を参照してください。

    • コメント: ルールの説明的なコメントを指定します。

    完了したら、[保存] をクリックします。

メール フロー ルールを作成するには Exchange 管理シェル を使用してください。

Exchange 管理シェル 内の新しいメール フロー ルールに設定できる設定には、二つ EAC で利用できないものがあります (ルールを作成するまで):

  • 無効にして新しいルールを作成する (有効$false)

  • ルールの優先度 (優先度<番号>) を設定します。

Exchange 管理シェル でメール フロー ルールを作成するには、以下の構文を使用します:

New-TransportRule -Name <RuleName> [<Conditions>] [<Exceptions>] <Actions> [<Properties>]

この例では、次の設定で新しいルールを作成します:

  • 名前: インターネットから Sales DG へのメッセージをマークします。

  • 条件

    • 外部送信者からのメッセージ。

      および

    • 販売部門という名前の配信グループに送信されたメッセージ。

  • アクション: メッセージの [件名 ] フィールドの先頭に 値 "External message to Sales DG: "を付加します。 後続のコロンとスペースが、元の値と追加テキストを区別するのに役立ちます。

New-TransportRule -Name "Mark messages from the Internet to Sales DG" -FromScope NotInOrganization -SentTo "Sales Department" -PrependSubject "External message to Sales DG: "

構文およびパラメーターの詳細については、「New-TransportRule」を参照してください。

注意: 例にある条件とアクションは説明のみを意図したものです。 自分の要件にあうものを判断するには、利用可能なメール フロー ルールの条件、例外およびアクションを再確認してください。

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

メール フロー ルールが正常に作成されたことを確認するため、次の手順のいずれかを使用します:

  • EAC で、[ メール フロー>の規則] に移動し、作成したルールが一覧にあることを確認します。

  • Exchange 管理シェル では、以下のいずれかの手順を使用します:

    • 以下のコマンドを実行してルール一覧内の新しいルールを見ます:
    Get-TransportRule
    
    • RuleName をルールの名前に置き換え<、次のコマンドを実行してルールの詳細を表示します。>
    Get-TransportRule -Identity "<RuleName>" | Format-List
    

メール フロー ルールの表示

メールボックス サーバー上に作成したメール フロー ルールは、Active Directory 内に格納されるので、メールボックス サーバー上のルールを表示するときには組織内のすべてのルールを見ることになります。 エッジ トランスポート サーバー上のメール フロー ルールを表示するのに Exchange 管理シェル を使用すると、ローカル サーバーに格納されているルールを見ることになります。

EAC を使用してメール フロー ルールを表示する

  1. EAC で、[メール フロー>ルール] に移動します

  2. ルールを選択すると、に関する情報が詳細ウィンドウに表示されます。 ルールの詳細を表示するには、[ 編集 ] (編集アイコン.) をクリックします。

    EAC で、[メール フロー > ルール] に移動し、ルールを選択します。

    EAC では、 [バージョン] プロパティは詳細ウィンドウでのみ見ることができます。 このプロパティは、以前のバージョンの Exchange (14) との規則の互換性を示します。n.n.n は Exchange 2010、15.0 です。n.n は Exchange 2013 です)。

Exchange 管理シェル を使用してメール フロー ルールを表示する

すべてのメール フロー ルールの要約リストを返すには、次のコマンドを実行します:

Get-TransportRule

特定のルールについての詳細情報を返すには、以下の構文を使用します:

Get-TransportRule -Identity "<RuleName>" | Format-List [<Specific properties to view>]

次の例では、「送信者はマーケティングのメンバー」という名前のルールのすべてのプロパティ値が返されます。

Get-TransportRule -Identity "Sender is a member of marketing" | Format-List

この例では、同じルールの指定されたプロパティのみを返します。

Get-TransportRule -Identity "Sender is a member of marketing" | Format-List Name,State,Mode,Priority,Comments,Conditions,Exceptions,RuleVersion

詳細な構文およびパラメーターの情報については、Get-TransportRule を参照してください。

Exchange 管理シェル を使用して、メール フロー ルールの利用可能な条件と例外 (術後) を表示する

メール フロー ルール内の条件と例外は、すべての条件に対し、全く同設定と構文を使う、対応した例外が存在することから、総じて 述語 と呼ばれます。 唯一の違いは、条件が内包するメッセージを指定するのに対し、例外は除外するメッセージを指定することです。 条件と例外の一覧は、Exchange 管理シェル でのみ表示が可能です。

メール フロー ルールで利用可能な条件と例外を表示するには、以下のコマンドを実行します:

Get-TransportRulePredicate

詳細な構文およびパラメーターの情報については、Get-TransportRulePredicate を参照してください。

:

  • 例外は、条件と区別されません。

  • エッジ トランスポート サーバーで利用可能な述語は、メールボックス サーバーで使用できるものの小さなサブセットです。 メール フロー ルールにおける条件と例外の詳細については、「Exchange Online のメール フロー ルールの条件と例外 (述語)」を参照してください。

  • 述語の名前のいくつかは、 New-TransportRuleSet-TransportRule コマンドレット上の対応する条件や例外のパラメーターの名前とは異なります。 そして、いくつかの述語は複数のパラメーターを必要とします。

Exchange 管理シェル を使用して、メール フロー ルールで利用可能なアクションを表示する

アクションの一覧は Exchange 管理シェル のみで表示可能です。

メール フロー ルールで利用可能なアクションを表示するには、以下のコマンドを実行します:

Get-TransportRuleAction

詳細な構文およびパラメーターの情報については、Get-TransportRuleAction を参照してください。

:

  • メールボックス サーバーで使用可能なアクションの小さなサブセットはエッジ トランスポート サーバーでも利用可能ですが、いくつかのアクションはエッジ トランスポート サーバー上のみで使用可能です。 詳細については、「Exchange Serverのメール フロー ルール アクション」を参照してください。

  • アクションの名前のいくつかは、 New-TransportRuleSet-TransportRule コマンドレット上の対応するアクションのパラメーターの名前とは異なります。 そして、いくつかのアクションは複数のパラメーターを必要とします。

メール フロー ルールを変更する

EAC を使用してメール フロー ルールを変更する

EAC のメール フロー ルールを変更する際には、他の設定を追加することはできません。 ルールの作成時に利用可能だった設定が利用できます。

  1. EAC で、[メール フロー>ルール] に移動します

  2. ルールを選択し、[ 編集 ] (編集アイコン.) をクリックします。 ルールのプロパティが完全に展開されていることに注意してください ( その他のオプション リンクは利用可能ではありません)。 ルールのプロパティに関する詳細は、このトピックの 「 EAC を使用してメール フロー ルールを作成する」セクションを参照してください。

Exchange 管理シェル を使用してメール フロー ルールを変更する

Exchange 管理シェルでメール フロー ルールを変更する場合、ルールを無効または有効にすることはできません (Set-TransportRule コマンドレットに Enabled パラメーターはありません)。 代わりに、本トピックで後に解説するように、 Disable-TransportRuleEnable-TransportRule コマンドレットを使用します。

Exchange 管理シェル でメール フロー ルールを変更するには、以下の構文を使用します:

Set-MailFlowRule -Identity "<RuleName>" [<Conditions>] [<Exceptions>] [<Actions>] [<Properties>]

この例では、Kelly Rollin という名前のユーザーによって送信されたメッセージにルールが適用されないように、"送信者はマーケティングのメンバー" という名前のルールに例外を追加します。

Set-TransportRule -Identity "Sender is a member of marketing" -ExceptIfFrom "Kelly Rollin"

詳細な構文およびパラメーターの情報については、Set-TransportRule を参照してください。

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

メール フロー ルールの変更が正常に行われたことを確認するため、以下の手順のいずれかを使用します:

  • EAC で、[ メール フロー>の規則] に移動し、ルールを選択し、詳細ウィンドウで情報を表示します。 その他の設定を表示するには、[ 編集 ] (編集アイコン.) をクリックします。

  • Exchange 管理シェルで、RuleName を>ルールの名前に置き換え<、次のコマンドを実行します。

    Get-TransportRule -Identity "<RuleName>" | Format-List
    

メール フロー ルールの優先度を設定する

既定では、メール フロー ルールには作成された順序に基づく優先度が与えられます (新しいルールは、古いルールより優先度が低いです)。 低い優先度番号は、ルールの優先度が高いことを示し、ルールは優先順序に従って処理されます (優先度の高いルールは低い優先度のルールより先に処理されます)。 二つのルールが同じ優先度を持つことはできません。

:

  • 後続の優先度の低いルールによってメッセージが処理されないようにするには、ルールに追加のルールの処理の停止 (StopRuleProcessing) アクションを$true含めます。

  • EAC では、作成した後のみルールの優先度を変更できます。 Exchange 管理シェル では、ルール作成時に既定の優先度を上書きすることができます (これは、既存のルールの優先度に影響を与えることができます)。

EAC を使ってメール フロー ルールの優先度を設定する

EAC では、ルールは表示された順序で処理されます (最初のルールは、[優先度] 値が 0)。 ルールの優先順位を変更するには、一覧でルールを上下に移動します (EAC でルールを編集して 、優先度 番号を直接変更することもできます)。

  1. EAC で、[メール フロー>ルール] に移動します

  2. ルールを選択し、[ 上へ移動 ](上方向アイコン)または [下へ移動 ](下方向アイコン)をクリックして、一覧内でルールを上下に移動します。

Exchange 管理シェル を使ってメール フロー ルールの優先度を設定する

ルールに設定できる優先度の最高値値は 0 です。 設定できる最低値はルールの数に依存します。 たとえば、ルールが五つある場合、使用できる優先度の値は 0 から 4 です。 既存の一つのルールの優先度を変更すると、他のルールにも連鎖的な影響が起こりえます。 たとえば、ルールが五つある場合 (優先度 0 から 4) に、一つのルールの優先度を 2 に変更した場合、既存の優先度 2 のルールは優先度 3 に変更され、優先度 3 は優先度 4 に変更されます。

Exchange 管理シェル のルールの優先度を設定するには、以下の構文を使用します:

Set-TransportRule -Identity "<RuleName>" -Priority <Number>

この例では、「送信者はマーケティングのメンバー」という名前のルールの優先度を 2 に設定します。 2 と同等またはそれ以下の優先度を持つすべての既存のルールは、優先度が 1 低くなります (優先度番号は 1 ずつ上がります)。

Set-TransportRule -Identity "Sender is a member of marketing" -Priority 2

:新しく作成したルールの優先度を設定するには、New-TransportRule コマンドレット上の Priority パラメーターを使用します。

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

メール フロー ルールの優先度の変更が正常に行われたことを確認するため、以下の手順のいずれかを使用します:

  • EAC で、[ メール フロー>ルール] に移動し、一覧のルールの [優先度 ] 値を確認します。

  • Exchange 管理シェル では、以下のいずれかの手順を使用します:

    • 以下のコマンドを実行してルールの一覧とそれらの Priority 値を表示します:
    Get-TransportRule
    
    • RuleName をルールの名前に置き換え<、次のコマンドを実行します。>
    Get-TransportRule -Identity "<RuleName>" | Format-List Name,Priority
    

メール フロー ルールを有効または無効にする

ルールの無効化はルールがメッセージに影響することを防ぎますが、ルールの設定は保持することができます。

既定では、メール フロー ルールは EAC または Exchange 管理シェルで作成するときに有効になりますが、Exchange 管理シェルを使用して無効なルールを作成できます (値$falseEnabled パラメーターを使用します)。

EAC を使用してメール フロー ルールを有効化または無効化する

  1. EAC で、[メール フロー>ルール] に移動します

  2. 一覧からルールを選択して、以下の設定の一つを設定します:

    • ルールを無効にする: [オン ] 列のチェック ボックスをオフにします。

    • ルールを有効にする: [オン ] 列のチェック ボックスをオンにします。

Exchange 管理シェル を使用してメール フロー ルールを有効化または無効化する

Exchange 管理シェル でメール フロー ルールを有効化または無効化するには、以下の構文を使用します:

<Enable-TransportRule | Disable-TransportRule> -Identity "<RuleName>"

この例では、メール フロー ルール「送信者はマーケティングのメンバー」を無効にします。

Disable-TransportRule "Sender is a member of marketing"

この例では、メール フロー ルール「送信者はマーケティングのメンバー」を有効にします。

Enable-TransportRule "Sender is a member of marketing"

詳細な構文およびパラメーターの情報については、Enable-TransportRuleDisable-TransportRule.を参照してください。

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

メール フロー ルールの有効化または無効化が正常に行われたことを確認するため、以下の手順のいずれかを使用します:

  • EAC で、[メール フロー>ルール] に移動し、ルールの一覧で [オン] 列のチェック ボックスの状態を確認します。

  • Exchange 管理シェル では、以下のいずれかの手順を使用します:

    • 以下のコマンドを実行してルールの一覧とそれらの State 値を表示します:
    Get-TransportRule
    
    • RuleName をルールの名前に置き換え<、次のコマンドを実行します。>
    Get-TransportRule -Identity "<RuleName>" | Format-List Name,State
    

メール フロー ルールを削除する

EAC を使用してメール フロー ルールを削除する

  1. EAC から、[メール フロー>ルール] に移動します

  2. 一覧から削除するルールを選択し、[ 削除 ] (削除アイコン.) をクリックします。

Exchange 管理シェル を使用してメール フロー ルールを削除する

Exchange 管理シェル でメール フロー ルールを削除するには、以下の構文を使用します:

Remove-TransportRule -Identity "<RuleName>"

この例では、メール フロー ルール「送信者はマーケティングのメンバー」を削除します。

Remove-TransportRule -Identity "Sender is a member of marketing"

詳細な構文およびパラメーターの情報については、Remove-TransportRule を参照してください。

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

メール フロー ルールの削除が正常に行われたことを確認するため、以下の手順のいずれかを使用します:

  • EAC で、[ メール フロー>の規則] に移動し、削除したルールが一覧に表示されなくなったことを確認します。

  • Exchange 管理シェル で、次のコマンドを実行して、削除したルールが一覧に表示されていないことを確認します。

    Get-TransportRule
    

メール フロー ルール コレクションをインポートまたはエクスポートする

バックアップとして以前エクスポートしたメール フロー ルールのコレクションをインポートしたり、旧バージョンの Exchange からエクスポートしたルールをインポートしたりすることができます。

:

  • EAC からメール フロー ルールのコレクションをインポートまたはエクスポートすることはできません。 使用できるのは Exchange 管理シェル だけです。

  • そのルール コレクションが Exchange 2013 以降からエクスポートされた場合、メール フロー ルール コレクションを Exchange 2010 にインポートすることはできません。

Exchange 管理シェルを使用してメール フロー ルール コレクションをエクスポートする

  1. 次のコマンドを実行します。

    $File = Export-TransportRuleCollection
    
  2. 次の構文を使用してください。

    [System.IO.File]::WriteAllBytes('<OutputFile>', $File.FileData)
    

    たとえば、C:\My Documents\Exported Rules.xml というファイルにエクスポートしたメール フロー ルールのコレクションを保存するには、次のコマンドを実行します:

    [System.IO.File]::WriteAllBytes('C:\My Documents\Exported Rules.xml', $File.FileData)
    

構文およびパラメーターの詳細については、「Export-TransportRuleCollection」を参照してください。

Exchange 管理シェルを使用してメール フロー ルール コレクションをインポートする

  1. 次の構文を使用してください。

    $Data = [System.IO.File]::ReadAllBytes('<OutputFile>')
    

    たとえば、C:\My Documents\Exported Rules.xml というファイルからメール フロー ルールのコレクションをインポートするには、次のコマンドを実行します:

    $Data = [System.IO.File]::ReadAllBytes('C:\My Documents\Exported Rules.xml')
    
  2. 次のコマンドを実行します。

    Import-TransportRuleCollection -FileData $Data
    

構文およびパラメーターの詳細については、「Import-TransportRuleCollection」を参照してください。

サポートが必要な場合