Take the 2-minute tour ×
Server Fault is a question and answer site for professional system and network administrators. It's 100% free, no registration required.

We currently have exchange 2010 setup as a test behind our domino servers. All our users are in Active Directory and have the AD mail attribute set to their email address. I would like to know if there is a way to include all AD users in the address book even if they do not have an exchange account. I have read this post:

Non-Exchange address in Exchange GAL

about creating separate contacts for the users but I would like to use the current AD users rather than keep a separate list of users. Any Ideas?

share|improve this question
2  
Why/how would they show up in the Exchange GAL if they don't have mailboxes and/or are not mail enabled? In addition, what purpose would that serve? –  joeqwerty Nov 26 '13 at 18:51
    
Like Joe said. If you want a "corporate address book" look into other software like Dovestone or others that make webpage style address books for employee lists. –  TheCleaner Nov 26 '13 at 19:45
    
So here is the why. In our environment we have domino servers in front of our exchange servers. All users are in the domino directory so Lotus Notes users have a complete address book. All users in AD have the proper mail attribute set to their email address in active directory. But Exchange users can only see other exchange users in the address book. I do not see why we can not just create an address list query of all users that have the mail attribute set in AD. That would be perfect. I am not sure how you think Dovestone would solve this problem can you elaborate on that. –  user200627 Nov 27 '13 at 17:10
    
@user200627 Please don't rant in your question. If you disagree with the closure open a discussion on meta or leave a comment here. –  voretaq7 Nov 27 '13 at 19:02
2  
@user200627 I've reopened the question if you'd like to share your solution. (For my part, I was going to suggest exporting your Domino address book over LDAP and having outlook read it) –  voretaq7 Nov 27 '13 at 19:07

1 Answer 1

up vote 0 down vote accepted

the only solution I have found is using the mailContact method. This is a hassle because you then have two lists, AD users and then the new contacts. There is no need to export the Domino address book as all the users are already in AD and have the mail attribute set. So what I did is created a powershell script that reads AD and creates a new contact for each AD user. It will remove existing contacts before adding the new one to keep the list upto date. I am going to run this on a schedule. Its not the best way but it seems to be the only way to do this.

#
# list all email addresses in active directory and create mail contacts
#
# Created By Thomas Wheeler
# wheelert@wheelerwire.com
#

$WarningPreference = "SilentlyContinue" 
$VerbosePreference = "SilentlyContinue"

add-pssnapin Microsoft.Exchange.Management.PowerShell.E2010

$strFilter = "(&(objectCategory=User) )"

$objDomain = New-Object System.DirectoryServices.DirectoryEntry

$objSearcher = New-Object System.DirectoryServices.DirectorySearcher
$objSearcher.SearchRoot = $objDomain
$objSearcher.PageSize = 1000
$objSearcher.Filter = $strFilter
$objSearcher.SearchScope = "Subtree"

$colProplist = "name", "mail"
foreach ($i in $colPropList){
    $objSearcher.PropertiesToLoad.Add($i)
}

$colResults = $objSearcher.FindAll()

foreach ($objResult in $colResults){
    $objItem = $objResult.Properties; 
    if($objItem.mail -ne $null ){
        #Write-Host $objItem.name " (" $objItem.mail " )" $objItem.sAMAccountType 
        $name = $objItem.name | Out-String
        $email = $objItem.mail | Out-String
        Remove-MailContact -Identity $name.trim() -Confirm:$false   
        New-MailContact -Name:$name.trim() -ExternalEmailAddress $email.trim()

    }

}
share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.