Exchange: Exportar lista global de direcciones

En todas las versiones de Exchange Server, disponemos de la GAL (Global Address List), en castellano: Lista global de direcciones.

La información contenida en la GAL, de forma predeterminada, se guarda en Active Directory.

La GAL contiene nombres y direcciones de correo electrónico de todos los buzones de la organización de Exchange.

Importante: La GAL, también puede disponer de contactos, listas de distribución, entre otros.

En este post, veremos distintos métodos para exportar la GAL a fichero CSV (comma-separated values):

1) Exportar GAL: Desde GUI, utilizando la consola de administración de Exchange Server:


Por ejemplo, en Exchange Server 2013 o 2016, disponemos de la herramienta GUI: Exchange Control Panel (ECP).

Bastará con situarnos en "destinatarios" y luego sobre buzones, grupos, recursos, contactos, etc y veremos sobre cada uno de ellos la opción: "···".

Al pulsar sobre "···", veremos la opción "Exportar datos a un archivo CSV".

Exchange: Exportar lista global de direcciones

2) Exportar GAL: Desde Outlook:


Utilizando Outook, también podemos exportar la lista global de direcciones a CSV.

El procedimiento es muy sencillo: Consiste en añadir a los contactos del Outlook el contenido de la "Lista global de direcciones", una vez allí, podemos exportar el contenido de los "Contactos" a CSV.

Veamos el detalle:

Abrimos Outlook conectados a un buzón de Exchange, puede ser un buzón de test.

Es una buena idea utilizar un buzón nuevo de test para realizar este procedimiento.

Una vez conectados, abrimos la "Lista global de direcciones", seleccionamos todos los contactos, botón derecho, "Agregar a Contactos" como muestra la siguiente captura:

Exchange: Exportar lista global de direcciones

Una vez disponemos toda la "Lista global de direcciones" añadida a "Contactos", podemos exportar los contactos a CSV, utilizando la opción de "Exportar" de Outlook.

3) Exportar GAL: Desde PowerShell de Exchange:


Utilizando la PowerShell de Exchange Server: Exchange Management Shell, podemos exportar la GAL.

En primer lugar, deberemos obtener el nombre de la GAL, dependiendo del idioma pasará a decirse de una forma o de otra.

Por ejemplo:

En castellano se dirá: Lista de direcciones global predeterminada
En inglés se dirá: Default Global Address List

Para obtener el nombre de la GAL, bastará con ejecutar:

[PS] C:\>Get-GlobalAddressList |Select-Object Name

Name
----
Lista de direcciones global predeterminada

Una vez disponemos del nombre de la GAL, ejecutamos:

$Filtro = (Get-GlobalAddressList 'Lista de direcciones global predeterminada').RecipientFilter

Get-Recipient -RecipientPreviewFilter $Filtro | Select-Object Name,PrimarySmtpAddress

El proceso, generará una salida por pantalla del nombre y la dirección de correo electrónico.

Si queremos exportar la salida a CSV, bastará con concatenar una pipe con: | Export-CSV C:\Fichero-GAL.csv -NoTypeInformation

Ejemplo:

$Filtro = (Get-GlobalAddressList 'Lista de direcciones global predeterminada').RecipientFilter

Get-Recipient -RecipientPreviewFilter $Filtro | Select-Object Name,PrimarySmtpAddress | Export-CSV C:\Fichero-GAL.csv -NoTypeInformation

También nos podemos encontrar con que queremos clasificar el tipo de información de la GAL, es decir, determinar si cada entrada corresponde a un buzón, un contacto o un grupo, etc.

Por ejemplo, si ejecutamos:

$Filtro = (Get-GlobalAddressList 'Lista de direcciones global predeterminada').RecipientFilter

Get-Recipient -RecipientPreviewFilter $Filtro | Select-Object Name,PrimarySmtpAddress, RecipientType

Veremos como en la salida de ejecución se muestra, el nombre, la dirección SMTP y el tipo de entrada y allí vemos si son buzones, contactos, grupos, etc...

Si comparamos el comando con el anterior, veremos que simplemente estamos añadiendo "RecipientType" en el Select-Object

Otro tema a considerar son listas globales de direcciones muy grandes.

Por defecto si ejecutamos Get-Recipient, la salida de los resultados está limitada a 1000.

Si queremos que Get-Recipient muestre más de 1000 resultados, deberemos añadir el parámetro: -ResultSize unlimited

4) Exportar GAL: PowerShell de Active Directory:


Nos conectamos a un controlador de dominio (DC) o en el propio equipo donde está instalado Exchange Server.

Iniciamos la PowerShell:

Ejecutamos: Import-module activedirectory

* A partir de Windows Server 2012, no es necesario ejecutar Import-module activedirectory

A continuación ejecutamos:

Get-ADUser -Filter * -SearchBase ‘dc=D1,dc=local’ -Properties proxyaddresses|Select-Object Name, Proxyaddresses 

Con Get-ADUser -Filter * -SearchBase ‘dc=D1,dc=local’: Mostramos todos los usuarios sin filtros del dominio D1.local

Con los parámetros  -Properties proxyaddresses|Select-Object Name, Proxyaddresses, filtramos el nombre y sus direcciones SMTP.

Después podríamos concatenar una pipe y el cmd-let Export-CSV para exportar a CSV el resultado: |Export-CSV C:\Fichero-GAL.csv

Hemos de tener cuidado con este método ya que solo estamos mostrando los usuarios con buzón. Los contactos, grupos, etc no se mostrarán.

--
 
Si lo que queremos es exportar todas las direcciones SMTP (primarias y secundarias) de los buzones, disponemos de este post:

Exchange: Exportar direcciones SMTP (SYSADMIT.com)

No hay comentarios:

Publicar un comentario