Listing email, name, quota and status of all accounts on Zimbra
เราสามารถ list ชื่อ, email, Mail Quota, และ Account status ได้ โดยข้อมูลจะแยกตาม domain ด้วย script ด้านล่างนี้ ซึ่งช่วยให้สามารถทราบละเอียดแบบคร่าวๆได้ผ่านทาง command line ครับ ตัวอย่าง ผลลัพธ์การรัน script
============================================
========== ezymailhosting.com ==============
Email: [email protected]
Name: EzyMailHosting
Last name: user1
Full name: EzyMailHosting
displayName: USER1 at EzyMailHosting
MailQuota: 0
Account Status: active
Script สำหรับ list ชื่อ, email, Mail Quota, และ Account status
#!/bin/bash
for DOMAINNAME in `zmprov -l gad`
do
echo " ===================================="
echo " ======= ${DOMAINNAME} ============="
for LISTNAME in `zmprov -l gaa ${DOMAINNAME}`
do
ALL=`zmprov -l ga ${LISTNAME}`
echo "$ALL" > /tmp/ondetail.txt
CN=`grep -i "cn:" /tmp/ondetail.txt |awk '{ print $2 }'`
SN=`grep -i "sn:" /tmp/ondetail.txt |awk '{ print $2 }'`
GIVENNAME=`grep -i "givenName:" /tmp/ondetail.txt |awk '{ print $2 }'`
DISPLAYNAME=`grep -i "displayName:" /tmp/ondetail.txt |awk '{ print $2 }'`
MAILQUOTA=`grep -i "zimbraMailQuota:" /tmp/ondetail.txt |awk '{ print $2 }'`
STATUS=`grep -i "zimbraAccountStatus:" /tmp/ondetail.txt |awk '{ print $2 }'`
echo "Email: ${LISTNAME}"
echo "Name: ${CN}"
echo "Last name: ${SN}"
echo "Full name: ${GIVENNAME}"
echo "displayName: ${DISPLAYNAME}"
echo "MailQuota: ${MAILQUOTA}"
echo "Account Status: ${STATUS}"
echo "--------------------------------------"
done
done
หรือ หากจ้องการผลลัพธ์ แบบ list Email Name LastName AccountStatus เป็นแบบ csv สามารถใช้งาน code ด้านล่างเลยครับ
#!/bin/bash
for DOMAINNAME in zmprov -l gad
do
echo ” ====================================”
echo ” ======= ${DOMAINNAME} =============”
echo “Email, Name, LastName, AccountStatus”
for LISTNAME in zmprov -l gaa ${DOMAINNAME}
do
ALL=zmprov -l ga ${LISTNAME}
echo “$ALL” > /tmp/ondetail.txt
CN=grep -i "cn:" /tmp/ondetail.txt |awk '{ print $2 }'
SN=grep -i "sn:" /tmp/ondetail.txt |awk '{ print $2 }'
GIVENNAME=grep -i "givenName:" /tmp/ondetail.txt |awk '{ print $2 }'
DISPLAYNAME=grep -i "displayName:" /tmp/ondetail.txt |awk '{ print $2 }'
MAILQUOTA=grep -i "zimbraMailQuota:" /tmp/ondetail.txt |awk '{ print $2 }'
STATUS=grep -i "zimbraAccountStatus:" /tmp/ondetail.txt |awk '{ print $2 }'
echo ”${LISTNAME}, ${CN}, ${SN}, ${STATUS}”
done
done