如何新建传输规则
适用于: 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 组织管理员角色
若要在安装了边缘传输服务器角色的计算机上执行以下步骤,必须使用作为该计算机上的本地管理员组成员的帐户进行登录。
有关管理 Exchange Server 2007 所需的权限、角色委派以及权利的详细信息,请参阅权限注意事项。
警告: |
---|
本主题将介绍如何新建传输规则。在生产环境中配置新的传输规则之前,请使用测试环境了解如何新建传输规则并对其进行全面测试。若要在生产环境中运行以下步骤,应对这些过程进行相应修改以使其支持您所在的组织。 |
要点: |
---|
若要对电子邮件应用传输规则,必须存在一个路由,以允许邮件传入和传出应用传输规则的服务器。而且,此邮件不能受制于管理员配置的用于阻止邮件传递的传输限制。如果传输限制阻止了邮件传递,则传输规则代理就不能对该邮件执行操作,因而也不会记录任何传输规则代理事件。 |
使用 Exchange 管理控制台创建传输规则
以下过程显示如何在集线器传输服务器或边缘传输服务器的 Exchange 管理控制台中打开传输规则向导,然后新建传输规则。打开传输规则向导之后,对于集线器传输服务器和边缘传输服务器,执行的步骤是相同的。
在集线器传输服务器的 Exchange 管理控制台中打开传输规则向导
在集线器传输服务器上打开 Exchange 管理控制台。
在控制台树中,单击“组织配置”,再单击“集线器传输”。
在结果窗格中,单击“传输规则”选项卡,然后在操作窗格中,单击“新建传输规则…”。
在边缘传输服务器的 Exchange 管理控制台中打开传输规则向导
在要新建传输规则的边缘传输服务器上打开 Exchange 管理控制台。
在控制台树中,单击“边缘传输”。
在结果窗格中,单击“传输规则”选项卡,然后在操作窗格中,单击“新建传输规则…”。
使用 Exchange 管理控制台在传输规则向导中新建传输规则
在传输规则向导的“名称”字段中,键入传输规则的名称。
如果此规则有备注,请在“注释”字段中键入备注。
如果希望此规则在创建后处于禁用状态,请清除“已启用”复选框。否则,请将“已启用”复选框保留在选中状态。
单击“下一步”。
在“步骤 1. 选择条件”框中,选择要应用于此规则的所有条件。
要点: 如果希望将此规则应用于所有电子邮件,则不要在此步骤中选择任何条件。 如果在上一个步骤中选择了条件,请在“步骤 2. 编辑规则说明 (单击带下划线的值)”框中,单击各个带有蓝色下划线的词。
单击带有蓝色下划线的词后,会出现一个新窗口,提示您输入应用于该条件的值。选择要应用的值,或者手动键入这些值。如果该窗口要求手动向列表添加值,请键入值。接下来单击“添加”。重复此过程,直到输入所有值为止,然后单击“确定”关闭该窗口。
对选择的每个条件重复以上步骤。配置所有条件之后,请单击“下一步”。
在“步骤 1. 选择操作”框中,选择要应用于此规则的所有操作。
在“步骤 2. 编辑规则说明 (单击带下划线的值)”框中,单击各个带有蓝色下划线的词。
在显示的新窗口中,选择要应用的项目,或手动键入这些值,然后单击“确定”关闭该窗口。
对选择的每个操作重复以上步骤。配置所有操作之后,请单击“下一步”。
在“步骤 1. 选择异常”框中,选择要应用于此规则的所有异常。选择异常并不是必须进行的操作。
如果在上一个步骤中选择了异常,请在“步骤 2. 编辑规则说明 (单击带下划线的值)”框中,单击各个带有蓝色下划线的词。
单击带有蓝色下划线的词后,会出现一个新窗口,提示您选择要添加的项目,或者手动键入这些值。完成之后,请单击“确定”关闭该窗口。
对选择的每个异常重复以上步骤。配置所有异常之后,请单击“下一步”。
检查“配置摘要”。如果对新规则的配置感到满意,请单击“新建”,然后单击“完成”。
使用 Exchange 命令行管理程序创建传输规则
由于可用于这些命令的条件、异常和操作本质上非常复杂,因此必须使用变量和数组才能在 Exchange 命令行管理程序中新建传输规则。
要点: |
---|
如果要配置使用通讯组的传输规则条件或例外,您必须指定通用安全组。这是必需满足的条件,因为传输规则会复制到组织内的所有集线器传输服务器上,并且可能会复制到远程 Active Directory 域中的集线器传输服务器。这些 Active Directory 域可能无法访问创建为非通用通讯组的通讯组。 |
注意: |
---|
如果要将此传输规则应用于所有电子邮件,则不要创建任何条件或异常变量。相关信息,请参阅本主题后面的“为变量指定一个操作”。 |
有关如何应用传输规则以及对于集线器传输服务器和边缘传输服务器这些规则的差异的详细信息,请参阅了解如何在 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")
如果要为传输规则创建多个条件,请为各个条件变量重复该过程。
还可以对条件使用模式匹配。通过模式匹配,您可以指定一个模式,传输规则将使用该模式来动态地匹配电子邮件中的字符串。
有关模式匹配的详细信息,请参阅传输规则中的正则表达式。
指定多个谓词属性
一些条件要求指定两个谓词属性。在这种情况下,还必须为另一个谓词属性指定一个值。有关详细信息,请参阅传输规则谓词中与正为其配置传输规则的服务器角色相对应的服务器角色表的第二个谓词属性列。
检查值为 contoso.com 的邮件 ID 邮件头字段
运行以下命令以创建该条件:
$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 中,可以找到有关操作是否需要数组以及其值的预期格式的信息。
使用以下命令语法可以为操作赋予单个值:
$Action.ActionProperty = <Action Value>
使用以下命令语法可以使用数组为操作赋予多个值:
$Variable.ActionProperty = @("<value1>", "<value2>", "<value...>")
为 SetScl 操作的 SclValue 操作属性赋予单个值
运行以下命令:
$Action = Get-TransportRuleAction SetScl $Action.SclValue = 7
为 CopyTo 操作的 Addresses 操作属性赋予多个值
运行以下命令:
$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>
注意: |
---|
即使在使用 Condition 、Exception 和 Array 变量指定单个变量时,也必须将此变量放置到数组中。 |
要点: |
---|
默认情况下,新的传输规则处于启用状态。如果要创建默认情况下处于禁用状态的新传输规则,请使用 $false 值指定 Enabled 参数。 |
新建传输规则
运行以下命令:
New-TransportRule -Name "Contoso.com Transport Rule" -Condition @($Condition1, $Condition2) -Exception @($Exception1, $Exception2) -Action @($Action1, $Action2)
传输规则示例
以下示例显示了如何在集线器传输服务器上新建传输规则。该示例应用了以下条件,且需要执行以下步骤:
- 在通讯组列表和通讯组列表之间 此条件的第一个谓词属性值是通讯组对象“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)
详细信息
有关每个命令的语法和参数的详细信息,请参阅下列主题:
有关传输规则的详细信息,请参阅下列主题: