Scrip para extraer las cuentas de correo pertenecientes a un dominio

d
Descripción El presente Script se diseño para extraer información referente a las cuentas de correo resentes en Zimbra.
Autor: Desconocido



USO:

Para ejecutar el Script vamos al directorio que lo contiene y ejecutamos lo siguiente:

./cuentas.sh "parametros"

Si necesita información sobre el script
./cuentas.sh --help

Ejemplo: ./cuenta.sh example.com lista.txt example@example.com 

#!/bin/bash
if [ "$1" = "--help" ]; then
echo "./cuenta.sh   "
exit
fi
 
 
if [ "$1" = "" ]; then
echo "DEBE COLOCAR EL NOMBRE DEL DOMINIO DE LAS CUENTAS A EXPORTAR: EJ: synaptic.cl"
exit 
fi
 
if [ "$2" = "" ]; then
echo "DEBE COLOCAR EL NOMBRE DEL ARCHIVO EN EL CUAL EXPORTARA LAS CUENTAS: EJ: LISTAS.TXT"
exit
fi
 
if [ "$3" = "" ]; then
echo "DEBE COLOCAR UNA CUENTA DE CORREO ELECTRONICO PARA ENVIAR EL INFORME: EJ: SOPORTE@SYNAPTIC.CL"
exit
fi
 
 
 
DOMINIO=$1
listaDeNombres=$2
 
COMANDO1='/opt/zimbra/bin/zmprov ga '
 
echo "NOMBRE,CUENTA,ESTADO">$listaDeNombres
clear
echo "Generando Informe Espere Por Favor...."
for usuario in `/opt/zimbra/bin/zmprov -l gaa $DOMINIO`
do
 #echo -e "$usuario\n"
 #echo -e "Comando: zmprov ga $usuario |grep displayName |awk -F': ' '{print $2}'\n"
        $COMANDO1 $usuario >tmp.txt
        nombre=`cat tmp.txt | grep displayName | awk -F': ' '{print $2}'\n`
        cuenta=`cat tmp.txt | grep '# name' | awk '{print $3}'\n`
        estado=`cat tmp.txt | grep "zimbraAccountStatus:" | awk -F': ' '{print $2}'\n`
        echo "$nombre,$cuenta,$estado">>$listaDeNombres
done
echo "Enviando Correos Electronicos del Dominio $1 a $3"
mail -s "CORREOS ELECTRONICOS DOMINIO $1" $3<$listaDeNombres
echo "Proceso Terminado con Exito"
echo "eliminando archivos temporales"
rm -rf tmp.txt

Fuente

0 comentarios: