新しいトランスポート ルールを作成する方法

 

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

トピックの最終更新日: 2007-02-08

ここでは、Exchange 管理コンソールまたは Exchange 管理シェルを使用して、Microsoft Exchange Server 2007 ハブ トランスポート サーバーの役割またはエッジ トランスポート サーバーの役割がインストールされているコンピュータで新しいトランスポート ルールを作成する方法について説明します。

トランスポート ルール エージェントの詳細については、「トランスポート ルールの概要」を参照してください。

開始する前に

以下の手順を実行するには、使用するアカウントに次の役割が委任されている必要があります。

  • Exchange 組織管理者の役割

エッジ トランスポート サーバーの役割がインストールされているコンピュータで以下の手順を実行するには、そのコンピュータのローカルの Administrators グループのメンバであるアカウントを使用してログオンする必要があります。

アクセス許可、役割の委任、および Exchange Server 2007 の管理に必要な権限の詳細については、「アクセス許可に関する考慮事項」を参照してください。

Caution注意 :
ここでは、新しいトランスポート ルールを作成する方法について説明します。運用環境で新しいトランスポート ルールを構成する場合は、事前にテスト環境を使用して、新しいトランスポート ルールを作成し、それらを徹底的にテストする方法を習得する必要があります。以下の手順は、運用環境で実行される前に、各組織に対応した変更が行われることを前提にしています。
important重要 :
電子メール メッセージにトランスポート ルールを適用するには、トランスポート ルールを適用するサーバーとの間のメッセージの送受信を可能にするルートが存在する必要があります。また、これらのメッセージを、メッセージの配信を防止するために管理者が構成したトランスポートの制限の対象外にする必要もあります。トランスポートの制限のためにメッセージが配信されない場合は、トランスポート ルール エージェントがそのメッセージに対して機能できず、トランスポート ルール エージェントのイベントが記録されません。

Exchange 管理コンソールを使用したトランスポート ルールの作成

以下の手順は、ハブ トランスポート サーバーまたはエッジ トランスポート サーバーの Exchange 管理コンソールでトランスポート ルール ウィザードを開き、新しいトランスポート ルールを作成する方法を示しています。トランスポート ルール ウィザードを開いた後のハブ トランスポート サーバーとエッジ トランスポート サーバーの手順は同じです。

ハブ トランスポート サーバーの Exchange 管理コンソールでトランスポート ルール ウィザードを開くには、次の操作を行います。

  1. ハブ トランスポート サーバーで Exchange 管理コンソールを開きます。

  2. コンソール ツリーで [組織の構成] をクリックし、[ハブ トランスポート] をクリックします。

  3. 結果ウィンドウで [トランスポート ルール] タブをクリックし、操作ウィンドウで [トランスポート ルールの新規作成] をクリックします。

エッジ トランスポート サーバーの Exchange 管理コンソールでトランスポート ルール ウィザードを開くには、次の操作を行います。

  1. 新しいトランスポート ルールを作成するエッジ トランスポート サーバーで Exchange 管理コンソールを開きます。

  2. コンソール ツリーで、[エッジ トランスポート] をクリックします。

  3. 結果ウィンドウで [トランスポート ルール] タブをクリックし、操作ウィンドウで [トランスポート ルールの新規作成] をクリックします。

Exchange 管理コンソールを使用してトランスポート ルール ウィザードで新しいトランスポート ルールを作成するには、次の操作を行います。

  1. トランスポート ルール ウィザードの "名前" フィールドに、トランスポート ルールの名前を入力します。

  2. このルールに関する注釈がある場合は、[コメント] ボックスに入力します。

  3. ルールを無効な状態で作成する場合は、[有効] チェック ボックスをオフにします。それ以外の場合は、[有効] チェック ボックスをオンのままにしておきます。

  4. [次へ] をクリックします。

  5. [ステップ 1: 条件の選択] ボックスで、このルールに適用するすべての条件を選択します。

    important重要 :
    このルールをすべての電子メール メッセージに適用する場合は、この手順で条件を選択しないでください。
  6. 前の手順で条件を選択した場合は、[ステップ 2: ルールの説明の編集 (下線付きの値をクリック)] ボックスで、青い下線付きの各単語をクリックします。

  7. 青い下線付きの単語をクリックすると、新しいウィンドウが表示され、条件に適用する値を入力するよう求められます。適用する値を選択するか、または値を手動で入力します。値を一覧に手動で追加するように求められた場合は、値を入力します。次に、[追加] をクリックします。すべての値を入力するまでこの手順を繰り返してから、[OK] をクリックしてウィンドウを閉じます。

  8. 選択した条件ごとに前の手順を繰り返します。すべての条件を構成したら、[次へ] をクリックします。

  9. [ステップ 1: 処理の選択] ボックスで、このルールに適用するすべてのアクションを選択します。

  10. [ステップ 2: ルールの説明の編集 (下線付きの値をクリック)] ボックスで、青い下線付きの各単語をクリックします。

  11. 表示される新しいウィンドウで、適用する項目を選択するか、手動で値を入力し、[OK] をクリックしてウィンドウを閉じます。

  12. 選択したアクションごとに前の手順を繰り返します。すべてのアクションを構成したら、[次へ] をクリックします。

  13. [ステップ 1: 例外の選択] ボックスで、このルールに適用するすべての例外を選択します。例外の選択は必須ではありません。

  14. 前の手順で例外を選択した場合は、[ステップ 2: ルールの説明の編集 (下線付きの値をクリック)] ボックスで、青い下線付きの各単語をクリックします。

  15. 青い下線付きの単語をクリックすると、新しいウィンドウが表示され、追加するアイテムを選択するか、または値を手動で入力するよう求められます。終了したら、[OK] をクリックしてウィンドウを閉じます。

  16. 選択した例外ごとに前の手順を繰り返します。すべての例外を構成したら、[次へ] をクリックします。

  17. [構成の概要] を確認します。新しいルールの構成が正しい場合は、[新規作成] をクリックし、次に [完了] をクリックします。

Exchange 管理シェルを使用したトランスポート ルールの作成

Exchange 管理シェルで新しいトランスポート ルールを作成するには、コマンドで使用できる条件、例外、およびアクションが複雑になるため、変数と配列を使用する必要があります。

important重要 :
配布グループを使用するトランスポート ルールの条件または例外を構成する場合は、ユニバーサル セキュリティ グループを指定する必要があります。これが必要になるのは、トランスポート ルールは組織内のすべてのハブ トランスポート サーバーにレプリケートされ、リモート Active Directory ドメインのハブ トランスポート サーバーを含む場合があるためです。このような Active Directory ドメインは、ユニバーサル配布グループとして作成されていない配布グループにはアクセスできない場合があります。
note注 :
トランスポート ルールをすべての電子メール メッセージに適用する場合は、条件変数や例外変数を作成しないでください。代わりに、後の「変数へのアクションの割り当て」を参照してください。

トランスポート ルールを適用する方法、およびハブ トランスポート サーバーとエッジ トランスポート サーバーでルールを実行する場合の相違点の詳細については、「トランスポート ルールを Exchange 2007 組織に適用する方法について」を参照してください。

Exchange 管理シェルでトランスポート ルールを使用する場合は、以下の概念を十分に理解しておく必要があります。

Exchange 管理シェルの詳細については、「Exchange 管理シェルの使用」を参照してください。

変数への条件の割り当て

トランスポート ルールで使用する条件を選択するには、条件を変数に割り当てる必要があります。条件を変数に割り当てるには、電子メール メッセージに対してテストする条件を、Get-TransportRulePredicate コマンドのパラメータとして指定する必要があります。ハブ トランスポート サーバーおよびエッジ トランスポート サーバーで使用できる述語の詳細については、「トランスポート ルールの述語」を参照してください。

次の構文を使用して、変数に条件を割り当てます。

$Condition = Get-TransportRulePredicate <Predicate Name>

Get-TransportRulePredicate コマンドを変数に割り当てるには、次の操作を行います。

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

    $Condition = Get-TransportRulePredicate SubjectContains
    

新しい変数に新しい条件を割り当てることにより、単一のトランスポート ルールで使用する条件を複数指定できます。

新しい変数ごとに新しい条件を割り当てて複数の条件を作成するには、次の操作を行います。

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

    $Condition1 = Get-TransportRulePredicate SubjectContains
    $Condition2 = Get-TransportRulePredicate SentTo
    $Condition3 = Get-TransportRulePredicate AttachmentSizeOver
    

条件への値の割り当て

条件に値を割り当てるには、その条件の述語プロパティを見つけます。各の述語とそのプロパティ、およびそれらが受け付ける値の詳細については、「トランスポート ルールの述語」を参照してください。「トランスポート ルールの述語」にあるトランスポート ルールを構成するサーバーの役割に関する表を参照してください。

条件に割り当てる値の多くは、配列の形式で表す必要があります。「トランスポート ルールの述語」の述語プロパティの表には、述語が配列を必要とするかどうかに関する情報と、その値の予測される形式に関する情報が記されています。次の例は、配列を使用して値を指定する方法を示しています。

$Variable.PredicateProperty = @("<value1>", "<value2>", "<value...>")

SubjectContains 条件の Words 述語プロパティに単語および語句を割り当てるには、次の操作を行います。

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

    $Condition = Get-TransportRulePredicate SubjectContains
    $Condition.Words = @("Contoso Stock", "Confidential")
    

トランスポート ルールで使用する条件を複数作成する場合、条件変数ごとにこの操作を繰り返します。

条件とパターン マッチングを使用することもできます。パターン マッチングを使用すると、トランスポート ルールに従って電子メール メッセージの文字列を動的に照合する際に使用するパターンを指定できます。

パターン マッチングの詳細については、「トランスポート ルールの正規表現」を参照してください。

複数の述語プロパティの割り当て

条件によっては、2 つの述語プロパティを割り当てる必要があります。このような場合、2 番目の述語プロパティの値も指定する必要があります。詳細については、トランスポート ルールを構成するサーバーの役割に関して書かれた「トランスポート ルールの述語」にあるサーバーの役割についての表で、2 番目の述語プロパティ列を参照してください。

メッセージ ID メッセージ ヘッダー フィールドで contoso.com の値を調べるには、次の操作を行います。

  • 以下のコマンドを実行して条件を作成します。

    $Condition = Get-TransportRulePredicate HeaderContains
    $Condition.MessageHeader = "Message-ID"
    $Condition.Words = @("contoso.com")
    

変数への例外の割り当て

変数に条件を割り当てる場合と同様の手順で変数に例外を割り当てます。その際、Condition ではなく、Exception を変数名として使用します。条件の場合と同様、例外ごとに使用する変数の名前を変えることにより、単一のトランスポート ルールで使用する例外を複数作成できます。例外は、「トランスポート ルールの述語」に記されている述語と同じ述語を使用します。

トランスポート ルールで使用する例外を複数作成するには、次の操作を行います。

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

    $Exception1 = Get-TransportRulePredicate SubjectContains
    $Exception1.Words = @("Press Release")
    $Exception2 = Get-TransportRulePredicate SclOver
    $Exception2.SclValue = 7
    

条件の場合と同様、例外とパターン マッチングを使用することもできます。パターン マッチングを使用すると、トランスポート ルールに従って電子メール メッセージの文字列を動的に照合する際に使用するパターンを指定できます。

パターン マッチングの詳細については、「トランスポート ルールの正規表現」を参照してください。

変数へのアクションの割り当て

トランスポート ルールで使用するアクションを選択するには、アクションを変数に割り当てる必要があります。アクションを変数に割り当てるには、電子メール メッセージに適用するアクションを、Get-TransportRuleAction コマンドのパラメータとして指定する必要があります。ハブ トランスポート サーバーおよびエッジ トランスポート サーバーで使用できるアクションの一覧については、「トランスポート ルールのアクション」を参照してください。以下の構文を使用して、アクションを変数に割り当てます。

$Action = Get-TransportRuleAction <Action Name>

Get-TransportRuleAction コマンドを変数に割り当てるには、次の操作を行います。

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

    $Action = Get-TransportRuleAction DeleteMessage
    

新しい変数に新しいアクションを割り当てることにより、単一のトランスポート ルールで使用するアクションを複数指定できます。

新しい変数に新しいアクションを割り当てて複数のアクションを作成するには、次の操作を行います。

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

    $Action1 = Get-TransportRuleAction BlindCopyTo
    $Action2 = Get-TransportRuleAction LogEvent
    $Action3 = Get-TransportRuleAction PrependSubject
    

アクションへの値の割り当て

アクションに値を割り当てるには、そのアクションのアクション プロパティを見つけます。各アクション プロパティ、およびそのプロパティが受け入れる値の一覧については、「トランスポート ルールのアクション」の表 1 を参照してください。表 1 は、ハブ トランスポート サーバーまたはエッジ トランスポート サーバーで構成されているトランスポート ルールで使用できるアクション プロパティの一覧です。

アクション プロパティの中には、ただ 1 つの値をプロパティに割り当てる必要があります。それ以外のアクション プロパティでは、複数の値を指定できます。「トランスポート ルールのアクション」の表 1 には、アクションが配列を必要とするかどうかに関する情報と、その値の予測される形式に関する情報が記されています。

アクションに 1 つの値を割り当てるには、以下のコマンド構文を使用します。

$Action.ActionProperty = <Action Value>

配列を使用してアクションに複数の値を割り当てるには、以下のコマンド構文を使用します。

$Variable.ActionProperty = @("<value1>", "<value2>", "<value...>")

SetScl アクションの SclValue アクション プロパティに 1 つの値を割り当てるには、次の操作を行います。

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

    $Action = Get-TransportRuleAction SetScl
    $Action.SclValue = 7
    

CopyTo アクションの Addresses アクション プロパティに複数の値を割り当てるには

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

    $Action = Get-TransportRuleAction CopyTo
    $Action.Addresses = @((Get-Mailbox "Kim Akers"), (Get-DistributionGroup "Compliance Group"))
    

トランスポート ルールで使用するアクションを複数作成する場合、アクション変数ごとにこの操作を繰り返します。

複数のアクション プロパティの割り当て

アクションによっては、2 つのアクション プロパティを設定する必要があります。このような場合、2 番目のアクション プロパティの値を指定する必要があります。詳細については、トランスポート ルールを構成するサーバーの役割に関して書かれた「トランスポート ルールのアクション」にあるサーバーの役割についての表で、2 番目のアクション プロパティ列を参照してください。

特定のメッセージ ヘッダー フィールドの値を設定するアクションを作成するには、次の操作を行います。

  • 以下のコマンドを実行してアクションを作成します。

    $Action = Get-TransportRuleAction SetHeader
    $Action.MessageHeader = "X-SomeHeader"
    $Action.HeaderValue = "Some header value"
    

新しいトランスポート ルールの作成

条件、例外、およびアクション変数を作成したら、以下のコマンド構文を使用して、新しいトランスポート ルールを作成します。

New-TransportRule -Name "<Name of transport rule>" -Condition @($ConditionVariable1, $ConditionVariable2, $ConditionVariable...) -Exception @($ExceptionVariable1, $ExceptionVariable2, $ExceptionVariable...) -Action @($ActionVariable1, $ActionVariable2, $ActionVariable...) -Enabled: <$true | $false>
note注 :
Condition 変数、Exception 変数、および Array 変数で単一の変数を指定する場合でも、配列内に変数を入れる必要があります。
important重要 :
既定では、新しいトランスポート ルールは有効になっています。既定で無効な状態の新しいトランスポート ルールを作成する場合は、Enabled パラメータで $false の値を指定します。

新しいトランスポート ルールを作成するには、次の操作を行います。

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

    New-TransportRule -Name "Contoso.com Transport Rule" -Condition @($Condition1, $Condition2) -Exception @($Exception1, $Exception2) -Action @($Action1, $Action2)
    

トランスポート ルールの例

次の例は、ハブ トランスポート サーバーで新しいトランスポート ルールを作成する方法を示しています。この例では、次の条件を適用し、次の手順を必要とします。

  • 配布リスト間の場合   この条件の最初の述語プロパティ値は、"Sales Group" という配布グループ オブジェクトです。この条件の 2 番目の述語プロパティ値は、"Brokerage Group" という配布グループ オブジェクトです。

以下の例外が適用されます。

  • 件名にテキスト パターンが含まれる場合   この例外の値は、"Press Release" または "Corporate Communication" です。
  • 差出人がユーザーの場合   この例外の値は、メールボックス オブジェクト "Chris Meyer" および "Kim Akers" です。

ここで記した条件に一致し、"件名にテキスト パターンが含まれる場合" または "差出人がユーザーの場合" に記した例外に一致しないすべてのメッセージには、以下のアクションが適用されます。

  • アドレスへのメッセージをリダイレクトする   このアクションの値は、配布グループ オブジェクト "Legal Group" と "Regulatory Compliance" です。
  • 送信者にバウンス メッセージを送信する   このアクションの値は、"E-Mail messages sent between the Sales department and the Brokerage department are prohibited" です。

ハブ トランスポート サーバーで前述の要件を持つトランスポート ルールを作成するには、次の操作を行います。

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

    $Condition1 = Get-TransportRulePredicate BetweenMemberOf
    $Condition1.Addresses = @((Get-DistributionGroup "Sales Group"))
    $Condition1.Addresses2 = @((Get-DistributionGroup "Brokerage Group"))
    $Exception1 = GetTransportRulePredicate From
    $Exception1.Addresses = @((Get-Mailbox "Chris Meyer"), (Get-Mailbox "Kim Akers"))
    $Exception2 = Get-TransportRulePredicate SubjectContains
    $Exception2.Words = @("Press Release", "Corporate Communication")
    $Action1 = Get-TransportRuleAction RedirectMessage
    $Action1.Addresses = @((Get-DistributionGroup "Legal Group"), (Get-DistributionGroup "Regulatory Compliance"))
    $Action2 = Get-TransportRuleAction RejectMessage
    $Action2.RejectReason = "E-Mail messages sent between the Sales department and the Brokerage department are prohibited."
    New-TransportRule -name "Sales-Brokerage Wall" -Condition @($Condition1) -Exception @($Exception1, $Exception2) -Action @($Action1, $Action2)
    

詳細情報

各コマンドの構文およびパラメータの詳細については、以下のトピックを参照してください。

トランスポート ルールの詳細については、以下のトピックを参照してください。

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