Exchange 动态通讯组创建 | PowerShell 部门成员筛选过滤器实战

详解 Exchange 动态通讯组的创建方法,通过 PowerShell RecipientFilter 按部门筛选成员、排除子部门、添加外部邮箱。结合实际案例,提供可复用的筛选规则模板。

...

需求背景

需要创建一个动态通讯组,规则如下:

  • 包含:A 部门 中台研发部 (及其所有子部门)
  • 排除:A 部门下的某个小组(如"运维组")
  • 额外包含:B 部门负责人邮箱[email protected](单个账号)

由于 Exchange 管理后台的 Web 界面操作受限,灵活性不足,因此通过 PowerShell 命令来实现。


步骤一:在 Exchange 管理中心创建动态通讯组

登录 Exchange 管理中心,进入「收件人」→「组」页面,点击「添加组」→「动态通讯组」。

创建动态通讯组

填写基本信息:

  • 显示名称:例如"中台项目组"
  • 别名:例如 [email protected]
  • 组织单位:选择存放组账号的位置

通讯组基本信息

成员:可以选择所有收件人类型

也可以仅以下收件人类型:

  • ✅具有exchange邮箱的用户
  • ✅具有外部电子邮件地址的邮件用户(因为有两个部门长邮箱是O365而不是exchange)

通讯组成员


步骤二:PowerShell 命令创建成员规则(收件人过滤器)

连接到 Exchange 服务器或打开 Exchange Management Shell,执行以下命令:

1
Set-DynamicDistributionGroup "中台项目组" -RecipientFilter "(((Department -like '深圳崩溃备忘录有限公司/崩溃备忘录/中台研发部') -and (-not(Department -eq '深圳崩溃备忘录有限公司/崩溃备忘录/中台研发部/运维组'))) -and ((RecipientType -eq 'UserMailbox') -or (RecipientType -eq 'MailUser'))) -and (-not(Name -like 'SystemMailbox{*')) -and (-not(Name -like 'CAS_{*')) -and (-not(RecipientTypeDetailsValue -eq 'MailboxPlan')) -and (-not(RecipientTypeDetailsValue -eq 'DiscoveryMailbox')) -and (-not(RecipientTypeDetailsValue -eq 'PublicFolderMailbox')) -and (-not(RecipientTypeDetailsValue -eq 'ArbitrationMailbox')) -and (-not(RecipientTypeDetailsValue -eq 'AuditLogMailbox')) -and (-not(RecipientTypeDetailsValue -eq 'AuxAuditLogMailbox')) -and (-not(RecipientTypeDetailsValue -eq 'SupervisoryReviewPolicyMailbox'))) -or (PrimarySmtpAddress -eq '[email protected]')"

过滤器逻辑说明

  1. 匹配中台研发部及其所有子部门

    1
    
    Department -like '中台研发部'
    
  2. 排除运维组

    1
    
    -not(Department -eq '运维组')
    
  3. 仅包含邮箱用户

    • UserMailbox:本地邮箱
    • MailUser:外部/O365 邮箱
  4. 排除系统邮箱

    • SystemMailbox、仲裁邮箱、审计邮箱、系统邮箱等
  5. 额外强制加入单个账号

    1
    
    PrimarySmtpAddress -eq '[email protected]'
    

    如果需要添加本部门外的单个账号,使用此条件。


步骤三:验证通讯组成员

执行以下命令查看筛选结果中的实际成员:

1
Get-Recipient -RecipientPreviewFilter (Get-DynamicDistributionGroup "中台项目组").RecipientFilter

筛选结果


补充:动态通讯组与静态通讯组的区别

特性动态通讯组静态通讯组
成员更新自动(基于规则实时计算)手动维护
适用场景部门成员频繁变动成员固定不变
管理成本低(规则即成员)高(需手动增减)

提示:如果只需要按部门简单筛选,Web 界面即可完成;但涉及排除逻辑、多条件组合时,PowerShell 是更高效的选择。

Created by aka.g