We help IT Professionals succeed at work.

How do you make a query based distribution group using AD in Server 2008 and Exchange 2007

1,440 Views
Last Modified: 2012-08-14
G'day all,
 In Server 2003 it looks pretty straight forward by right clicking on an OU in AD and selecting New->Query Based Distribution Group. I don't see this in Server 2008. Or if anyone can point me to an article that would be great.

Thanks all,
BW
Comment
Watch Question

Michael B. SmithManaging Consultant
CERTIFIED EXPERT

Commented:
In Exchange 2007 and higher, they renamed the QBDQ to "Dynamic Distribution Group" and you now create the object in either the Exchange Management Console (Recipient Configuration -> Distribution Group) or the Exchange Management Shell (New-DynamicDistributionGroup).

As a corollary to separation of Exchange management and AD management, they removed the capability from ADUC after Server 2003.

Now, from an AD object perspective, there really isn't any difference to speak of. You can still use scripts and tools (ADSI, VBScript, etc.) to create the objects - but that isn't the "supported way".
Top Expert 2010

Commented:

Author

Commented:
Thanks guys. Now that I've created one I'm trying to create a custom attribute. I'm within the properties of the DDG on the general tab within the custom attributes button. What exactly do you enter into these text boxes (there are 15 of them)? I've tried field names like cn for common name and displayName and then entered then name I wanted in 'Conditions' under 'Custom Attribute 1 equals Value' but nothing shows up when I preview it. I am in the right OU.
Am I even doing it right? Hmmm. It was so much easier in 2003 :)

BW
Michael B. SmithManaging Consultant
CERTIFIED EXPERT

Commented:
Custom attribute fields are just text attributes on Exchange objects such as mailboxes. You either manually or programmatically put values in them and then use them for constructing Recipient Filters (or any OPATH filter).

So, for example, you want to have a way to figure out if someone is married or not. You decide to use custom attribute 3 for that. So, for all the mailboxes of people that are married, you edit the mailboxes and put "yes" into custom attribute 3.

Now, you can build a Recipient Filter that says { CustomAttribute3 -eq "yes" } to get those people who are married.
Top Expert 2010

Commented:
hi
You are creating a query based DDG based on what attributes ? Please specify

thanks

Author

Commented:
Ok here's the big picture. I tend to rumble around in my thoughts of what I want lol. Sorry about that.
We have a lotus notes database that contains all of our external distributor contacts. What our programmer is going to do is create an sql query that imports them all into a container in AD. Then he wants me to create a DDG that will look at all the contacts in that container filtered by the condition of 'Department' for instance. Is that possible?
That make sense? Let me know if you need more info

Thanks guys,
BW
Top Expert 2010

Commented:

Author

Commented:
sunnyc7, I think that would work if the user(s) were created as mail contacts first in Exchange. Once you've created a mail contact in Exchange it then also creates a corresponding  contact in AD. But if I create a 'Contact' in AD, it won't work because DDG is looking for objects in Exchange. I tested this theory by creating a contact in AD in the Users container. I went to Exchange and edited my DDG to look at that containter and told it to show me 'All Recipient Types' with no conditions and the contact wouldn't show up. But if I create a mail contact in Exchange first then it sees it. We want to bring in these contacts to AD from Lotus Notes and then run a DDG on those contacts in AD but doesn't look like it's going to see them.
Thanks again,
BW
Michael B. SmithManaging Consultant
CERTIFIED EXPERT

Commented:
It'll work as soon as you mail-enable the contact. Or you could just create it as a mail contact to start with.

Author

Commented:
Thanks Michael.
How do you mail enable a contact in AD? I've added an email address already. Is there something else?

Thanks,
BW
Managing Consultant
CERTIFIED EXPERT
Commented:
Unlock this solution and get a sample of our free trial.
(No credit card required)
UNLOCK SOLUTION
Top Expert 2010

Commented:
Create a file called c:\contacts.csv

with
name, email address
name1, email@domain1.com
name2, email@domain2.com
...

Run this

Import-CSV "C:\contacts.CSV" | ForEach-Object {Enable-MailContact -Identity $_.Name -ExternalEmailAddress $_.ExternalAddress}

Author

Commented:
Thanks fellas for the info. I ran the mailenable powershell command for my test user. Now it adds them as a mail contact in Exchange. So when I have hundreds of contacts I'm assuming its normal for them to all show up in Exchange under 'Mail Contact'? Is this the norm for what I'm doing?
Sunnyc7, thanks for that import command. Is there a way for me to mailenable hundreds of contacts in AD using the powershell without having to create a csv file?

Appreciate the help and I'll be wrapping this up soon :D

BW
Top Expert 2010
Commented:
Unlock this solution and get a sample of our free trial.
(No credit card required)
UNLOCK SOLUTION

Author

Commented:
I'm seeing a problem here. This whole process needs to be automated. Our coder will have a procedure that runs every night and dumps in new contacts into the AD container. So Exchange would have to see the new contacts and mail enable them. I don't think this is going to work.
Any thoughts?

BW
Michael B. SmithManaging Consultant
CERTIFIED EXPERT

Commented:
Have your coder create them as mail contacts to start with - new-mailcontact.

Alternately, run a PowerShell script after the coder's program runs to mail-enable all the contacts he just created...

Author

Commented:
Thanks for the help fellas. Appreciate it.

BW
Unlock the solution to this question.
Thanks for using Experts Exchange.

Please provide your email to receive a sample view!

*This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

OR

Please enter a first name

Please enter a last name

8+ characters (letters, numbers, and a symbol)

By clicking, you agree to the Terms of Use and Privacy Policy.