Este script se puede usar cuando necesite obtener un listado de todos los Forwards (reenvíos) que tienen las cuentas de su dominio:
Script: buscarForwards.sh
NUEVO SCRIPT
#!/bin/bash
# Script que despliega un listado de los Forwards existentes
# Se le puede dar como parametro el dominio en el cual buscar
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
$LDAPSEARCH "(&(objectClass=zimbraAccount)(mail=*$DOMAIN)(|(zimbraMailForwardingAddress=*)(zimbraPrefMailForwardingAddress=*)))" zimbraMailForwardingAddress zimbraPrefMailForwardingAddress | sed 's/ou=people,//g' | sed 's/dn: uid=//g' | sed 's/,dc=/@/' | sed 's/,dc=/./g' | sed ':a;N;$!ba;s/\nzimbraPrefMailForwardingAddress//g' | sed ':a;N;$!ba;s/\nzimbraMailForwardingAddress//g' | grep -v ^$
ANTIGUO
#!/bin/bash
DOMAIN="sudominio.cl"
for a in `zmprov -l gaa $DOMAIN`; do echo "ga $a zimbraMailForwardingAddress"; done > /tmp/getfowards.zm
zmprov < /tmp/getfowards.zm > /tmp/Forwards.txt
cat /tmp/Forwards.txt | grep -v "^prov>" | grep -B1 zimbraMailForwardingAddress | sed ':a;N;$!ba;s/\n/" /g' | sed 's/" --" # name /\n/g' | sed 's/zimbraMailForwardingAddress: /, /g' > /tmp/FinalForwards.txt
Nota: puede dejar la variable DOMAIN vacía, y buscará en todos los dominios que tenga.
Con esto se tiene un listado más o menos ordenado de los Forwards existentes.
En la primera columna corresponde a la cuenta, y los siguientes son los forwards que posee.
Ahora, si desea buscar un forward, tan sólo debe ejecutar:
grep <elforwardquebusca> /tmp/Final/Forwards.txt
0 Comentarios