如何建立新的傳輸規則

Exchange 2007
 

適用版本: Exchange Server 2007 SP3, Exchange Server 2007 SP2, Exchange Server 2007 SP1, Exchange Server 2007

上次修改主題的時間: 2007-02-08

本主題說明如何使用 Exchange 管理主控台或 Exchange 管理命令介面,在已安裝 Microsoft Exchange Server 2007 Hub Transport server role 或 Edge Transport server role 的電腦上,建立新的傳輸規則。

如需傳輸規則代理程式的相關資訊,請參閱傳輸規則的概觀

若要執行下列程序,您使用的帳戶必須已委派下列資格:

  • Exchange 組織系統管理員角色

若要在已安裝 Edge Transport server role 的電腦上執行下列程序,則必須使用該電腦之本機 Administrators 群組成員的帳戶進行登入。

如需管理 Exchange Server 2007 所需之權限、委派角色以及權利的相關資訊,請參閱權限考量

Caution請注意:
本主題說明如何建立新的傳輸規則。在生產環境設定新傳輸規則之前,請先使用測試環境了解如何建立新的傳輸規則,並且徹底測試這些規則。下列程序若未經過修改以支援您的組織,則不應在生產環境中執行。
important重要事項:
若要將傳輸規則套用到電子郵件,必須有一個可讓套用傳輸規則的郵件可以進出伺服器的路由。此外,郵件不得受限於系統管理員設定之防止郵件傳遞的傳輸限制。如果傳輸限制防止郵件傳遞,則傳輸規則代理程式將無法針對該郵件執行,且不會記錄任何傳輸規則代理程式事件。

下列程序顯示如何在 Hub Transport Server 或 Edge Transport Server 上,使用 Exchange 管理主控台開啟傳輸規則精靈,然後建立新的傳輸規則。開啟傳輸規則精靈之後,在 Hub Transport Server 和 Edge Transport Server 上的程序都相同。

  1. 開啟 Hub Transport Server 上的 Exchange 管理主控台。

  2. 在主控台樹狀目錄中按一下 [組織組態],然後按一下 [集線傳輸]。

  3. 在結果窗格中按一下 [傳輸規則] 索引標籤,然後在執行窗格中按一下 [新增傳輸規則...]。

  1. 在您要建立新傳輸規則的 Edge Transport Server 上,開啟 Exchange 管理主控台。

  2. 在主控台樹狀目錄中,按一下 [邊際傳輸]。

  3. 在結果窗格中按一下 [傳輸規則] 索引標籤,然後在執行窗格中按一下 [新增傳輸規則]。

  1. 在傳輸規則精靈的 [名稱] 欄位中,輸入傳輸規則的名稱。

  2. 如果您要為這個規則加上附註,請在 [註解] 欄位中輸入附註。

  3. 如果您希望建立的規則是停用的狀態,請清除 [已啟用] 核取方塊。否則,請保持選取 [已啟用] 核取方塊。

  4. 按 [下一步]。

  5. 在 [步驟 1. 選取條件] 方塊中,選取您要套用到此規則的所有條件。

    important重要事項:
    如果您希望此規則套用至所有電子郵件,請不要在此步驟中選取任何條件。
  6. 如果在上一個步驟中選取了條件,在 [步驟 2. 按一下底線值來編輯規則描述] 方塊中,按一下每個加底線的藍色文字。

  7. 按一下加底線的藍色文字後,會開啟新視窗,提示您輸入要套用到條件的值。選取您要套用的值,或手動輸入值。如果視窗需要您手動將值加入清單中,請輸入值。接著按一下 [新增]。重複此程序,直到完成所有值的輸入為止,然後按一下 [確定] 關閉視窗。

  8. 針對選取的每個條件重複上一個步驟。設定完所有條件後,按 [下一步]。

  9. 在 [步驟 1. 選取動作] 方塊中,選取您要套用到此規則的所有動作。

  10. 在 [步驟 2. 按一下底線值來編輯規則描述] 方塊中,按一下每個加底線的藍色文字。

  11. 在出現的新視窗中,選取您要套用的項目,或者手動輸入值,然後按一下 [確定] 關閉視窗。

  12. 針對選取的每個動作重複上一個步驟。設定完所有動作後,按 [下一步]。

  13. 在 [步驟 1. 選取例外狀況] 方塊中,選取您要套用到此規則的所有例外狀況。您不需選取任何例外狀況。

  14. 如果在上一個步驟中選取了例外狀況,在 [步驟 2. 按一下底線值來編輯規則描述] 方塊中,按一下每個加底線的藍色文字。

  15. 按一下加底線的藍色文字後,會開啟新的視窗,提示您選取要新增的項目,或是手動輸入值。完成後,按一下 [確定] 關閉視窗。

  16. 針對選取的每個例外狀況重複上一個步驟。設定完所有例外狀況後,按 [下一步]。

  17. 檢閱 [組態摘要]。若您滿意新規則的組態,請依序按一下 [新增] 及 [完成]。

若要在 Exchange 管理命令介面中建立新傳輸規則,您必須使用變數和陣列,因為可配合命令使用的條件、例外狀況和動作很複雜。

important重要事項:
如果您設定了使用通訊群組的傳輸規則條件或例外,您必須指定萬用安全性群組。這是必要動作,因為傳輸規則會複寫到組織中的所有 Hub Transport Server,並在遠端 Active Directory 網域中可能包含 Hub Transport Server。這些 Active Directory 網域可能無法存取不是當作萬用安全性群組所建立的通訊群組。
note附註:
如果您希望傳輸規則套用至所有電子郵件,請不要建立任何條件或例外狀況變數。請改參閱本主題稍後的<將動作指派給變數>。

如需如何套用傳輸規則,以及這些規則在 Hub Transport Server 與 Edge Transport Server 上執行有何不同的相關資訊,請參閱了解傳輸規則在 Exchange 2007 組織中的套用方式

若要在 Exchange 管理命令介面中使用傳輸規則,則您必須熟悉下列概念:

如需 Exchange 管理命令介面的相關資訊,請參閱使用 Exchange 管理命令介面

若要選取配合傳輸規則使用的條件,必須將條件指派給變數。若要將條件指派給變數,必須指定要對電子郵件測試的條件作為 Get-TransportRulePredicate 命令的參數。如需可在 Hub Transport Server 與 Edge Transport Server 上使用之述詞的相關資訊,請參閱傳輸規則述詞

使用下列語法,可以將條件指派給變數:

$Condition = Get-TransportRulePredicate <Predicate Name>

  • 執行下列命令:

    $Condition = Get-TransportRulePredicate SubjectContains
    

您可以將新條件指派給新變數,以指定多個條件配合單一傳輸規則使用。

  • 執行下列命令:

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

若要指派條件的值,請找出條件的述詞內容。如需每個述詞及其內容,以及可接受之值的相關資訊,請參閱傳輸規則述詞。請參閱傳輸規則述詞中的表格,了解您用於設定傳輸規則的伺服器角色所適用的部分。

許多指派給條件的值都必須以陣列的形式表示。您可以在傳輸規則述詞裡的述詞內容表中,找到述詞是否需要陣列,以及其值的預期格式的相關資訊。下列範例顯示如何使用陣列來指定值:

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

  • 執行下列命令:

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

如果想要建立多個條件配合傳輸規則使用,請針對每個條件變數重複此程序。

您也可以使用條件的模式比對。模式比對可讓您指定傳輸規則用來動態比對電子郵件中之字串的模式。

如需模式比對的相關資訊,請參閱傳輸規則中的規則運算式

某些條件需要您指派兩個述詞內容。在這些情況下,您還必須為第二個述詞內容指定值。如需詳細資訊,請參閱傳輸規則述詞中伺服器角色表格的第二個述詞內容欄位,了解您用於設定傳輸規則的伺服器角色部分。

  • 執行下列命令以建立條件:

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

您可以用將條件指派給變數的相同方式,將例外狀況指派給變數。不過請使用 Exception 來代表 Condition 作為變數名稱。如同條件一樣,您也可以變更每個例外狀況使用的變數名稱,以建立在單一傳輸規則使用的多個例外狀況。例外狀況使用在傳輸規則述詞中討論的相同述詞。

  • 執行下列命令:

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

如同條件一樣,您也可以使用例外狀況的模式比對。模式比對可讓您指定傳輸規則用來動態比對電子郵件中之字串的模式。

如需模式比對的相關資訊,請參閱傳輸規則中的規則運算式

若要選取配合傳輸規則使用的動作,必須將動作指派給變數。若要將動作指派給變數,必須指定要套用至電子郵件的動作作為 Get-TransportRuleAction 命令的參數。如需可在 Hub Transport Server 與 Edge Transport Server 上使用之動作的清單,請參閱傳輸規則動作。使用下列語法,可以將動作指派給變數:

$Action = Get-TransportRuleAction <Action Name>

  • 執行下列命令:

    $Action = Get-TransportRuleAction DeleteMessage
    

您可以將新動作指派給新變數,指定多個動作配合單一傳輸規則使用。

  • 執行下列命令:

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

若要指派動作的值,請找出動作的動作內容。如需每個動作內容及其接受之值的清單,請參閱傳輸規則動作中的表 1。表 1 列出可與 Hub Transport Server 或 Edge Transport Server 上所設定之傳輸規則搭配使用的動作內容。

有些動作內容需要該內容中僅指定一個值。其他動作內容可讓您指定多個值。您可以在傳輸規則動作的表 1 中,找到動作是否需要陣列,以及其值的預期格式的相關資訊。

使用下列命令語法,可以指派單一值給動作:

$Action.ActionProperty = <Action Value>

使用下列命令語法,可以以陣列來指派多個值給動作:

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

  • 執行下列命令:

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

  • 執行下列命令:

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

如果要建立多個動作配合傳輸規則使用,請針對每個動作變數重複此程序。

有些動作需要您設定兩個動作內容。在這些情況下,您還必須為第二個動作內容指定值。如需詳細資訊,請參閱傳輸規則動作中伺服器角色表格的第二個動作內容欄位,了解您用於設定傳輸規則的伺服器角色部分。

  • 執行下列命令以建立動作:

    $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附註:
即使您使用 ConditionExceptionArray 變數指定單一變數,一樣必須將變數括在陣列中。
important重要事項:
新的傳輸規則預設會啟用。若要建立預設為停用的新傳輸規則,請指定值為 $falseEnabled 參數。

  • 執行下列命令:

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

下列範例顯示如何在 Hub Transport Server 上建立新的傳輸規則。此範例套用了下列條件,以下是需要的步驟:

  • 在通訊群組清單與通訊群組清單之間   此條件的第一個述詞內容值是   通訊群組物件 "Sales Group"。此條件的第二個述詞內容值是 "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)
    
 
顯示: