Necesitas obtener un listado de todas las cuentas de un dominio en particular, y saber a qué listas de distribución pertenece cada cuenta?
Aquí está el script:
#!/bin/bash
LDAP_SERVER=`/opt/zimbra/bin/zmlocalconfig ldap_host | cut -d '=' -f2`
LDAP_PASS=`/opt/zimbra/bin/zmlocalconfig -s zimbra_ldap_password | cut -d ' ' -f3`
LDAP_USERDN=`/opt/zimbra/bin/zmlocalconfig zimbra_ldap_userdn | awk '{print $3}'`
LDAPSEARCH="/opt/zimbra/bin/ldapsearch -x -h $LDAP_SERVER -D $LDAP_USERDN -w$LDAP_PASS -LLL -o ldif-wrap=no "
DOMAIN=$1
# Obtiene listado de usuarios del dominio
for USER in `$LDAPSEARCH "(&(objectClass=zimbraAccount)(mail=*$DOMAIN))" dn | sed 's/ou=people,//g' | sed 's/dn: uid=//g' | sed 's/,dc=/@/' | sed 's/,dc=/./g' | grep -v ^$`; do
echo -ne "$USER: "
# Por cada cuenta busca en qué listas de distribución esta
$LDAPSEARCH "(&(objectClass=zimbraDistributionList)(zimbraMailForwardingAddress=$USER))" mail | sed 's/ou=people,//g' | sed 's/dn: uid=//g' | sed 's/,dc=/@/' | sed 's/,dc=/./g' | grep -v "^mail:" | grep -v ^$ | sed ':a;N;$!ba;s/\n/,/g'
echo
done | grep -v ^$
Uso:
./reporte_cuentas_y_listas.sh dominio.cl
0 Comentarios