Экспорт глобального списка адресов Exchange или Office 365 (GAL) в CSV
Давайте рассмотрим некоторые способы экспорта глобального списка адресов (GAL) или автономной адресной книги Exchange в текстовый файл CSV. Глобальный список адресов содержит все адреса электронной почты вашей локальной организации Exchange или клиента Exchange Online (Office 365). Вы можете использовать CSV-файл со списком контактов из корпоративной адресной книги для переноса и импорта контактов в сторонние почтовые клиенты или почтовые службы.
Давайте разберемся с некоторыми инструментами экспорта: это могут быть Центр администрирования Exchange, PowerShell, MS Access, Outlook или csvde. > утилита.
Как экспортировать глобальный список адресов в CSV на локальном сервере Exchange?
Самый простой способ — экспортировать список адресов непосредственно из консоли Exchange Admin Center (EAC). Для этого перейдите в раздел Получатели -> Почтовый ящик, нажмите … и выберите Экспортировать данные в файл CSV. >.
Далее вы можете выбрать свойства (атрибуты) пользователей, которых хотите экспортировать в файл CSV.
Но таким способом вы можете экспортировать только адреса электронной почты пользователей. Чтобы экспортировать адреса групп рассылки, нужно зайти в Группы и выполнить экспорт оттуда (аналогично Контакты, Ресурсы, Общие ресурсы).
Чтобы получить список адресов в домене, вы можете использовать командлет PowerShell Get-Recipient. Например, наша задача — вывести список имен пользователей, их SMTP-адреса и номера телефонов. Подключитесь к серверу Exchange из PowerShell и выполните команду:
Get-Recipient| Select-Object Name,PrimarySmtpAddress, PhoneЧтобы отобразить только записи глобального списка адресов по умолчанию, используйте этот фильтр:
$filter = (Get-GlobalAddressList 'Default Global Address List').RecipientFilter
Get-Recipient -ResultSize unlimited -RecipientPreviewFilter $filter | Select-Object Name,PrimarySmtpAddress, PhoneРезультаты Get-Recipient ограничены 1000 объектами. Чтобы получить больше адресов, используйте
-ResultSize Unlimitedпараметр.
Исключить из списка записи, скрытые из адресной книги (атрибут HiddenFromAddressLists). Используйте командлет Export-CSV, чтобы экспортировать результаты в файл CSV:
Get-Recipient -RecipientPreviewFilter $filter | Where-Object {$_.HiddenFromAddressListsEnabled -ne $true} | Select-Object Name,PrimarySmtpAddress, Phone | Export-CSV c:\exchange\GAL.csv -NoTypeInformationВы также можете экспортировать список почтовых ящиков в глобальном списке адресов следующим образом:
Get-mailbox -results unlimited | Where-Object {$_.AddressListMembership -like “*Default Global Address List*”} | Select-Object DisplayName,UserPrincipalName,AddressListMembership,HiddenFromAddressЧтобы экспортировать данные из Active Directory, вы можете использовать консольный инструмент csvde.exe.
Команда для отображения данных пользователей с их адресами электронной почты может выглядеть так:
CSVDE -r "(&(objectClass=person)(mail=*))" -l displayName,proxyAddresses -f Exchange-GAL.csvВ результате вы получите такой список адресов:
“CN=LondTest,OU=Service,DC=corp,DC=active-directory,DC=com",LondTest,smtp: LondTest@active-directory.ruВы можете использовать командлеты PowerShell Get-ADUser и Get-ADGroup из модуля AD PowerShell, чтобы получить список пользователей и групп с SMTP-адресами. Экспортируем список пользователей с SMTP-адресами (атрибут AD proxyaddresses) из конкретного OU:
Get-ADUser -Filter * -SearchBase 'OU=London,OU=UK,DC=active-directory,DC=com' -Properties proxyaddresses | Select-Object Name, Proxyaddresses| Export-CSV C:\PS\AD_OU_Export_GAL.csvЭкспорт глобального списка адресов из Exchange Online (Microsoft 365)
В веб-интерфейсе Exchange Online (https://admin.exchange.microsoft.com/) нет встроенных инструментов для экспорта всего содержимого глобального списка адресов. Однако вы можете экспортировать список почтовых ящиков пользователей, групп рассылки или почтовых ящиков ресурсов в файл CSV один за другим. Для этого перейдите, например, в Получатель -> Почтовые ящики и выберите Экспорт.
Аналогичным образом вы можете экспортировать список контактов, списки рассылки, группы с включенной почтой.
Гораздо проще и удобнее экспортировать глобальный список адресов из клиента Exchange Online (Microsoft 365) с помощью PowerShell. Подключитесь к своему клиенту Exchange Online с помощью модуля EXO v2:
Connect-ExchangeOnlineВыведите список доступных глобальных списков адресов с помощью команды:
Get-GlobalAddressList | Select-Object NameВ нашем примере существует только «Глобальный список адресов по умолчанию». Этот список адресов включает в себя все объекты с включенной поддержкой почты в организации (пользователей, группы, группы рассылки).
Получим фильтр Глобального списка адресов:
$Filter = (Get-GlobalAddressList 'Default Global Address List').RecipientFilterДля добавления объектов в глобальный список адресов используется следующий фильтр:
((Alias -ne $null) -and (((ObjectClass -eq 'user') -or (ObjectClass -eq 'contact') -or (ObjectClass -eq 'msExchSystemMailbox') -or (ObjectClass -eq 'msExchDynamicDistributionList') -or (ObjectClass -eq 'group') -or (ObjectClass -eq 'publicFolder'))))Теперь вы можете получить список всех SMTP-адресов от клиента Exchange Online и экспортировать его в CSV-файл:
Get-Recipient -RecipientPreviewFilter $Filter | Select-Object Name, PrimarySmtpAddress,RecipientType | Export-CSV C:\PS\Export_Office365_GAL.csv -NoTypeInformationВ файл CSV экспортированы все возможные типы получателей в Exchange Online: UserMailbox, MailUser, MailUniversalDistributionGroup, MailContact, DynamicDistributionGroup.
Экспортировать глобальный список адресов из Outlook или Access
Если у вас нет привилегированных прав в Exchange, вы можете экспортировать глобальный список адресов организации с компьютера пользователя с помощью программ MS Office/Office 365.
Вы не можете экспортировать содержимое глобального списка адресов непосредственно из Outlook. Единственный обходной путь для экспорта содержимого глобального списка адресов в файл — добавить всех получателей из адресной книги организации в личный список контактов (Адресная книга -> Глобальный список адресов -> CTRL+A -> Добавить в контакты). Затем вы можете экспортировать контакты Outlook в CSV с помощью функции импорта-экспорта (Файл -> Открыть и экспортировать -> Импорт/экспорт). Вам придется скопировать исходные контакты во временную папку контактов Outlook. Как видите, этот способ не очень удобен.
И, наконец, наименее очевидный, но достаточно простой и понятный способ экспорта глобального списка адресов для пользователя, не являющегося администратором, — это использование соединения Exchange в Microsoft Access.
Запустите Microsoft Access и выберите в его меню Файл->Открыть ;
Выберите Exchange() среди типов файлов;
В списке источников выберите Глобальный адрес Список;
Вы получите плоскую таблицу Access с данными из адресной книги Exchange;
Теперь вы можете экспортировать эти данные из базы данных в файл CSV.
Все, что вам нужно сделать, это импортировать полученный CSV-файл в Excel и изменить его по своему усмотрению.








