В настоящее время у нас есть установка Exchange 2010 в качестве теста для наших серверов домино. Все наши пользователи находятся в Active Directory, и для их адреса электронной почты установлен атрибут почты AD. Я хотел бы знать, есть ли способ включить всех пользователей AD в адресную книгу, даже если у них нет учетной записи Exchange. Я прочитал этот пост:
Адрес без обмена в Exchange GAL
о создании отдельных контактов для пользователей, но я хотел бы использовать текущих пользователей AD, а не вести отдельный список пользователей. Любые идеи?
единственное решение, которое я нашел, - это использование метода mailContact. Это затруднительно, потому что у вас есть два списка: пользователи AD и новые контакты. Нет необходимости экспортировать адресную книгу Domino, поскольку все пользователи уже находятся в AD и имеют установленный атрибут mail. Итак, я создал сценарий PowerShell, который читает AD и создает новый контакт для каждого пользователя AD. Он удалит существующие контакты перед добавлением новых, чтобы поддерживать список в актуальном состоянии. Я собираюсь запустить это по расписанию. Это не лучший способ, но, кажется, единственный способ сделать это.
#
# 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()
}
}