Поиск по сайту:

Экспорт глобального списка адресов 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.

  1. Запустите Microsoft Access и выберите в его меню Файл->Открыть ;

  2. Выберите Exchange() среди типов файлов;

  3. В списке источников выберите Глобальный адрес Список;

  4. Вы получите плоскую таблицу Access с данными из адресной книги Exchange;

  5. Теперь вы можете экспортировать эти данные из базы данных в файл CSV.

Все, что вам нужно сделать, это импортировать полученный CSV-файл в Excel и изменить его по своему усмотрению.

Статьи по данной тематике