我需要帮助来修改动态通讯组筛选器以排除两个用户(通过使用别名)。
当前过滤器:
-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’))
此外,如果存在多个排除项,修改过滤器的最佳实践是什么?使用属性进行排除是一种更好的方法,但如果没有,那么了解此过滤器背后的逻辑会有所帮助。所以我会很感激任何解释。
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{*'))
开头的系统生成的过滤器,因为这些过滤器是自动添加的。