Recently I ran into some issues with creating dynamic distribution lists or groups (DDL or DDG) in an Exchange 2007 environment. Let me share some things that I uncovered:

  • Outlook users will not be able to see the membership of the DL using the GAL
  • To view the membership, see http://technet.microsoft.com/en-us/library/bb232019(EXCHG.80).aspx
  • Per http://technet.microsoft.com/en-us/library/aa996561(EXCHG.80).aspx, "a dynamic distribution group includes any recipient in the Active Directory directory service with attributes that match its filter"
  • While the preview may show all users, mail sent to the DL may not include all of those users.  This will happen if you do not use the –RecipientContainer option when you initially create the DDL.  By default, when Transport expands the DDL for mail delivery, it will only deliver to the recipients that are within the same OU with the DDL.  To include recipients outside of that OU, you MUST use the –RecipientContainer option.
  • In our scenario, attempting to modify the –RecipientContainer option after the DDL was already created, using the Set-DynamicDistributionGroup cmdlet, failed to update and change the mail flow behavior. So I would recommend using this option when you first create the dynamic group.
  • If using a custom recipient filter using the Exchange Management Shell, do not place " " around the filter itself and a space must be placed before and after the { } brackets.

Here are some examples of creating a dynamic distribution group:

New-DynamicDistributionGroup -Name "All OfficeX Members" -RecipientFilter { (((RecipientType -eq 'UserMailbox') -and (Office -eq 'OfficeX'))) } -OrganizationalUnit "DOMAIN.COM/Distribution Lists" -RecipientContainer "DOMAIN.COM"

New-DynamicDistributionGroup -Name "Accouting Team" -RecipientFilter { (((RecipientType -eq 'UserMailbox') -and (Company -eq 'X') -and (Department -eq 'Accounting'))) } -OrganizationalUnit "DOMAIN.COM/Distribution Lists" -RecipientContainer "DOMAIN.COM"

New-DynamicDistributionGroup -Name "All non-HQ Managers" -RecipientFilter { ((((RecipientType -eq 'UserMailbox') -and (Title -like '*Manager'))) -and (-not(Office -like 'HQ'))) } -OrganizationalUnit "DOMAIN.COM/Distribution Lists" -RecipientContainer "DOMAIN.COM"

Once these groups were created, I would consider changing the following, depending on the group’s requirements and restrictions:
- Managed By
- Additional Email Addresses
- Hidden from GAL or not
- To send or not send delivery reports
- To send or not send OOF
- Message size or message delivery restrictions

Good luck!

Doug