我们目前有Exchange 2010设置作为我们的多米诺骨牌服务器的testing。 我们所有的用户都在Active Directory中,并将AD邮件属性设置为他们的电子邮件地址。 我想知道是否有办法将所有AD用户都包含在地址簿中,即使他们没有交换账户。 我读过这个post:
Exchange GAL中的非Exchange地址
关于为用户创build单独的联系人,但我想使用当前的AD用户,而不是保留单独的用户列表。 有任何想法吗?
我发现唯一的解决scheme是使用mailContact方法。 这是一个麻烦,因为你有两个名单,AD用户,然后是新的联系人。 没有必要导出Domino地址簿,因为所有的用户已经在AD中并且设置了邮件属性。 所以我所做的是创build一个PowerShell脚本,它读取AD并为每个AD用户创build一个新的联系人。 它会删除现有的联系人,然后添加新的联系人,以保持清单最新。 我将按计划运行。 它不是最好的方式,但它似乎是唯一的方法来做到这一点。
# # list all email addresses in active directory and create mail contacts # # Created By Thomas Wheeler # [email protected] # $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() } }