Tips Zimbra : Script untuk Membuat Daftar Account Locked/Closed/Maintenance

Tadi pagi salah satu klien menghubungi saya, menanyakan apakah memungkinkan jika status account di Zimbra  dipisahkan kedalam listing tertentu. Pemisahan ini digunakan untuk memastikan bahwa account-account yang statusnya tidak aktif (status : Locked, Closed & Maintenance) bisa dilisting untuk kemudian ditandai di mesin yang baru.

Secara prinsip, dengan membaca script yang ada, kita bisa juga melakukan modifikasi agar scriptnya diperluas untuk field-field/kolom identitas lainnya.

Setelah oprek sedikit, berikut adalah scriptnya.

#/bin/sh

#Hapus Layar
clear

echo -e "############################################################################"
echo -e "# Zimbra check account status #"
echo -e "# Skrip untuk memisahkan account Zimbra yang inactive (locked/closed) #"
echo -e "# Masim 'Vavai' Sugianto - vavai@vavai.com - http://www.vavai.com #"
echo -e "# Link Website : http://www.excellent.co.id #"
echo -e "############################################################################"

echo "Proses pengecekan dimulai...";
# /* Variable untuk bold */
ibold="\033[1m""\n===> "
ebold="\033[0m"

# /* Membuat file hasil pengecekan */

NAMA_FILE="zimbra-acc-status.txt"

rm -f $NAMA_FILE
touch $NAMA_FILE

# /* Check versi Zimbra yang digunakan */
VERSION=`su - zimbra -c 'zmcontrol -v'`;
ZCS_VER="/tmp/zcsver.txt"
# get Zimbra LDAP password
ZIMBRA_LDAP_PASSWORD=`su - zimbra -c "zmlocalconfig -s zimbra_ldap_password | cut -d ' ' -f3"`

touch $ZCS_VER
echo $VERSION > $ZCS_VER

echo -e $ibold"Memanggil daftar seluruh account Zimbra.............................."$ebold

grep "Release 5." $ZCS_VER
if [ $? = 0 ]; then
USERS=`su - zimbra -c 'zmprov gaa'`;
LDAP_MASTER_URL=`su - zimbra -c "zmlocalconfig -s ldap_master_url | cut -d ' ' -f3"`
fi

grep "Release 6." $ZCS_VER
if [ $? = 0 ]; then
USERS=`su - zimbra -c 'zmprov -l gaa'`;
LDAP_MASTER_URL="ldapi:///"
fi

echo -e $ibold"Melakukan proses data, silakan tunggu.............................."$ebold
# /* Proses insert account kedalam file hasil export */
for ACCOUNT in $USERS; do
NAME=`echo $ACCOUNT`;
ACCOUNT=`echo $ACCOUNT | awk -F@ '{print $1}'`;

OBJECT="(&(objectClass=zimbraAccount)(mail=$NAME))"

STATUS=`/opt/zimbra/bin/ldapsearch -H $LDAP_MASTER_URL -w $ZIMBRA_LDAP_PASSWORD -D uid=zimbra,cn=admins,cn=zimbra -x $OBJECT | grep zimbraAccountStatus: | cut -d ':' -f2 | sed 's/^ *//g' | sed 's/ *$//g'`

if [ $STATUS != "active" ]; then
echo "$NAME status : $STATUS" >> $NAMA_FILE
echo "Menambahkan account $NAME ke daftar account, status : $STATUS"
fi
done
echo -e $ibold"Selesai melakukan proses pengecekan status account"$ebold

Script diatas memang hanya melisting daftar account yang statusnya tidak aktif. Untuk mengupdate-nya ke sistem yang baru bisa juga membuat script dengan menjalankan perintah :

su - zimbra -c "zmprov ma namaaccount@namadomain zimbraAccountStatus STATUS".

Parameter STATUS bisa diisi dengan : active, locked, closed dan maintenance.

Pin It

Leave a Reply

Your email address will not be published. Required fields are marked *


*