编辑动态通讯组过滤器以排除用户

问题描述 投票:0回答:1

我需要帮助来修改动态通讯组筛选器以排除两个用户(通过使用别名)。

当前过滤器:

-RecipientFilter ((((RecipientType -eq 'UserMailbox') -or
 (((((RecipientType -eq 'MailUser') -and (-not(RecipientTypeDetails -eq
 'RoomMailbox')))) -and (Company -like 'ABC Papers*'))))) -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')))

需要添加排除,例如:

 -and (Alias -ne ‘user1’)) -and (Alias -Ne ‘user2’))

此外,如果存在多个排除项,修改过滤器的最佳实践是什么?使用属性进行排除是一种更好的方法,但如果没有,那么了解此过滤器背后的逻辑会有所帮助。所以我会很感激任何解释。

filter office365 exchange-server
1个回答
0
投票

PowerShell 命令

Set-DynamicDistributionGroup -Identity "DDG Name Here" -RecipientFilter {((RecipientTypeDetails -eq 'UserMailbox' -or RecipientTypeDetails -eq 'MailUser') -and (Alias -ne 'user1' -or Alias -ne 'user2') -and (Company -like 'ABC Papers*'))}

收件人过滤器细分

第一组 - 满足用户邮箱或邮件用户的要求,但不满足房间邮箱的要求。请注意,我使用 RecipientTypeDetails 而不是 RecipientType,后者将包括共享邮箱。

(RecipientTypeDetails -eq 'UserMailbox' -or RecipientTypeDetails -eq 'MailUser')

第二组 - 满足您的

Alias
过滤器要求。请注意,不建议包含太多的单个对象过滤器,因为这会破坏这些组的动态生成方面,并且您开始将其转变为常规分发组。

(Alias -ne 'user1' -or Alias -ne 'user2')

第三组 - 满足您的

Company
过滤要求。

(Company -like 'ABC Papers*')

然后将所有三组分组在一起。使用 OPath,您可以将相同的属性分组以达到所需的效果。您也不需要包含所有以

-and(-not(Name -like 'SystemMailbox{*'))
开头的系统生成的过滤器,因为这些过滤器是自动添加的。

可过滤属性列表

收件人过滤器 MS 文档

© www.soinside.com 2019 - 2024. All rights reserved.