在收件人命令中创建筛选器
适用于: Exchange Server 2007 SP3, Exchange Server 2007 SP2, Exchange Server 2007 SP1, Exchange Server 2007
上一次修改主题: 2007-11-15
通过几个 Exchange 命令行管理程序命令,可以筛选一组收件人。使用 Exchange 命令可以进行两种类型的筛选:筛选结果和命令中的筛选属性。
若要筛选结果,必须使用自定义筛选器。要筛选命令中的属性,则可以使用“固有”筛选器或自定义筛选器。
“固有筛选器”是一种常用的 Exchange 2007 筛选器,可用来满足各种收件人筛选条件。例如,固有筛选器具有以下用途:
确定收件人的范围。
根据属性(如公司、部门和国家/地区)添加有条件的筛选。
添加收件人的自定义属性。
如果筛选要求超出了这些参数,则可以使用 OPATH 筛选语法定义一个自定义筛选器,以引用 Exchange 命令行管理程序中的完整属性集。
筛选结果
使用第一种类型的筛选,可以筛选命令的结果。例如,Get-User、Get-Recipient、Get-Mailbox、Get-MailUser、Get-Contact、Get-MailContact、Get-Group、Get-DistributionGroup 和 Get-DynamicDistributionGroup cmdlet 都具有一个 Filter 参数,通过该参数可以指定使用该命令检索的用户或组。您可以通过使用筛选字符串指定一组要检索的用户或组,而不是检索所有的用户或组。这种类型的筛选器不修改对象的任何配置或属性。它只修改命令返回的对象集。
有关可以与 -Filter 参数一起使用的筛选属性的详细信息,请参阅下列主题:
注意: |
---|
使用 Filter 参数修改命令的结果是由服务器端筛选执行的。服务器端筛选将命令和筛选器提交给服务器进行处理。Exchange 命令行管理程序还支持客户端筛选,在客户端筛选中,命令从服务器检索所有对象,然后在本地控制台窗口中应用筛选器。若要执行客户端筛选,请使用 Where-Object cmdlet。有关服务器端筛选和客户端筛选的详细信息,请参阅使用命令输出中的“如何筛选数据”。 |
筛选命令中的属性
使用第二种类型的筛选,可以指定命令应使用哪些属性。可以使用固有筛选器,也可以创建自己的自定义筛选器。例如,New-DynamicDistributionGroup、Set-DynamicDistributionGroup、New-EmailAddressPolicy、Set-EmailAddressPolicy、New-AddressList、Set-AddressList、New-GlobalAddressList 和 Set-GlobalAddressList cmdlet 都具有 IncludedRecipients、ConditionalCompany、ConditionalDepartment 和 ConditionalStateOrProvince 参数,通过这些参数,可以使用固有筛选器确定命令所应用的用户集。这些 cmdlet 还具有 RecipientFilter 参数,通过该参数,可以创建自己的自定义筛选器。通过固有筛选器或自定义筛选器,可以指定将收件人包含在动态通讯组、电子邮件策略、地址列表或全局地址列表 (GAL) 中。
有关可以与 -RecipientFilter 参数一起使用的筛选属性的详细信息,请参阅下列主题:
创建自定义筛选器
要使用 Filter 参数创建筛选命令结果的自定义筛选器,或者使用 RecipientFilter 参数创建筛选命令中属性的自定义筛选器,必须为筛选器指定一个字符串。Exchange 命令行管理程序在筛选语法中使用 OPath。OPath 是一种为查询对象数据源而设计的查询语言。通过 Exchange 命令行管理程序,您在创建筛选器时,不再需要以往在 Microsoft Exchange Server 2003 中使用的轻型目录访问协议 (LDAP) 的复杂语法。而可以使用更简单的 OPath 语法创建筛选器。
注意: |
---|
要使用固有筛选器创建动态通讯组、电子邮件地址策略、地址列表或 GAL,可以使用 Exchange 管理控制台中的向导或者使用 Exchange 命令行管理程序。若要使用自定义筛选器创建动态通讯组、电子邮件地址策略、地址列表或 GAL,必须同时使用 RecipientFilter 参数和 Exchange 命令行管理程序中相应的 cmdlet。 |
预定义筛选器示例
本示例介绍如何使用固有筛选器创建动态通讯组。本示例命令中的语法与用于新建电子邮件地址策略、地址列表或 GAL 的语法相似,但不完全相同。
使用新建动态通讯组向导创建动态通讯组时,必须选择以下筛选信息:
您希望包含哪个组织单位中的收件人?
注意: 选择要包含其收件人的组织单位仅适用于创建动态通讯组,不适用于创建电子邮件地址策略、地址列表或 GAL。 您希望包含哪种类型的收件人?
您希望在筛选器中包含哪些其他条件?
下列各图显示了新建动态通讯组向导中用于选择筛选器信息的页面。
图 1 新建动态通讯组向导的“筛选器设置”页
图 2 要选择组织单位,请单击新建动态通讯组向导的“筛选器设置”页面上的“浏览”
图 3 新建动态通讯组向导的“条件”页面
每个筛选选项都与 New-DynamicDistributionGroup 或者 Set-DynamicDistributionGroup 命令中的一个固有筛选参数相对应。
用于组织单位的第一个筛选选项与命令中的 RecipientContainer 参数相对应。用于收件人类型的第二个筛选选项与 IncludedRecipients 参数相对应。用于其他条件的第三个筛选选项与 ConditionalCompany、ConditionalDepartment、ConditionalStateOrProvince 和 ConditionalCustomAttribute 参数相对应。
注意: |
---|
OrganizationalUnit 参数指定新建动态通讯组的位置。RecipientContainer 参数是一个筛选器参数,用于指定将添加到动态通讯组的收件人所在的组织单位。 |
例如,在动态通讯组向导中,可以从 Contoso.com/用户组织单位中选择收件人,选择 UserMailbox 对象,并且选择条件,以仅包含 Department 定义为 Finance 且 Company 定义为 Contoso 的收件人。
要使用 Exchange 命令行管理程序创建相同的动态通讯组,请运行以下命令:
New-DynamicDistributionGroup -Name ContosoFinance -OrganizationalUnit Contoso.com/Users -RecipientContainer Contoso.com/Users -IncludedRecipients MailboxUsers -ConditionalDepartment "Finance" -ConditionalCompany "Contoso"
要查看此新通讯组的属性,请运行以下命令:
Get-DynamicDistributionGroup -Identity ContosoFinance | format-list *Recipient*,Included*
RecipientFilter 属性显示创建该组时使用的 OPath 筛选器语法。RecipientFilterType 属性是 Precanned,这意味着该组的筛选器是使用固有筛选器创建的。LdapRecipientFilter 属性是一个只读属性,用于显示在 Exchange 的早期版本中创建该组使用的 LDAP 筛选器。
自定义筛选器示例
本示例介绍如何使用自定义筛选器创建动态通讯组。本示例命令中的语法与用于新建电子邮件地址策略、地址列表或 GAL 的语法相似,但不完全相同。
要为动态通讯组创建自定义筛选器,必须将 RecipientFilter 参数和 New-DynamicDistributionGroup 或 Set-DynamicDistributionGroup cmdlet 一起使用。
例如,如果要创建其 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')) }
注意: |
---|
OrganizationalUnit 参数指定新建动态通讯组的位置。 |
其他 OPath 语法信息
要创建自己的自定义筛选器,应注意以下内容:
使用大括号 { } 将具有 Filter 或 RecipientFilter 参数的整个 OPath 语法字符串括起来。
所有的运算符之前都要包含连字符。
最常用的运算符如下:
-and
-or
-not
-eq(等于)
-ne(不等于)
-lt(小于)
-gt(大于)
-like(字符串比较)
-notlike(字符串比较)
-RecipientFilter 和 -Filter 参数的许多属性都接受通配符。如果使用通配符,请使用 -like 运算符,而不要使用 -eq 运算符。-like 运算符可用于查找多种类型(诸如字符串)的模式匹配项,而 -eq 运算符可用于查找完全匹配项。
使用下列命令获得可用运算符的相关信息:
Help about_logical_operator
Help about_comparison_operator
收件人类型的大多数属性可用于创建筛选器字符串。有关特定 cmdlet 可以使用的可筛选属性的信息,请参阅 Exchange 命令行管理程序(SP1 和 SP2)中该 cmdlet 的参考主题。
详细信息
有关 Exchange 命令行管理程序中管道输出的详细信息,请参阅管道传输。