Рассмотрим несколько способ экспорта содержимого глобального списка адресов (Global Address List) Exchange в текстовый CSV-файл. В таком виде список контактов из корпоративной адресной книги можно будет перенести и импортировать в контакты сторонних почтовых клиентов или онлайн-сервисы электронной почты.
Рассмотрим несколько различных инструментов для экспорта: это может быть Exchange Management Console, Powershell, MS Access или утилита csvde. Что интересно, в MS Outlook полностью отсутствуют средства для экспорта Exchange Global Address в любой формат. Экспортировать можно только личную адресную книгу, но не будешь же переносить в нее всех адресатов из GAL.
Проще всего выгрузить адресную книгу прямо из консоли EMC. Для это перейдите в раздел Mailbox и в правой колонке выберите Export List. Но для этого нужно, как минимум, иметь доступ к консоли Exchange.
Для получения списка адресов в домене можно использовать командлет Powershell — Get-Recipient. К примеру наша задача – вывести список имен пользователей, их smtp-адресов и телефонных номеров:
Get-Recipient| Select-Object Name,PrimarySmtpAddress, Phone
Чтобы вывести записи только из адресной книги ( Default Global Address List), воспользуемся фильтром:
$filter = (Get-GlobalAddressList 'Default Global Address List').RecipientFilter
Get-Recipient -ResultSize unlimited -RecipientPreviewFilter $filter | Select-Object Name,PrimarySmtpAddress, Phone
Исключим из списка записи, скрытые из адресной книги (атрибут HiddenFromAddressLists) и экспортируем результат в CSV файл:
Get-Recipient -RecipientPreviewFilter $filter | Where-Object {$_.HiddenFromAddressListsEnabled -ne $true} | Select-Object Name,PrimarySmtpAddress, Phone | Export-CSV c:\GAL.csv -NoTypeInformation
Для импорта данных из AD можно воспользоваться консольной утилитой csvde.exe.
Команда для выгрузки данных о пользователях с ящиками может выглядеть так
CSVDE -r "(&(objectClass=person)(mail=*))" -l displayName,proxyAddresses –f GAL.csv
На выходе получится список вида:
CN=MskTest,OU=Service,DC=corp,DC=winitpro,DC=ru",MskTest,smtp: MskTest@winitpro.ru
Ну и напоследок самый неочевидный, но довольно простой и понятный для простого пользователя способ экспорта GAL — через БД Access.
- Запускаем Microsoft Access и в меню выбираем File->Open
- В типах файлов данных выберите Exchange()
- В списке источников выберите Global Address List
- Получаем плоскую таблицу Access с данными адресной книги.
- Теперь можно экспортировать эти данные из базы в CSV или Excel файл.
Полученный CSV файл достаточно просто обработать в том же в Excel’е и привести к нужному виду.