Below are a simple script to bulk-reset Zimbra account password :
Code:
#!/bin/bash
clear
USERS=`su - zimbra -c 'zmprov -l gaa'`;
for ACCOUNT in $USERS; do
ACC1=`echo $ACCOUNT | awk -F@ '{print $1}'`;
ACC=`echo $ACC1 | cut -d '.' -f1`;
if [ $ACC == "admin" ] || [ $ACC == "wiki" ] || [ $ACC == "galsync" ] || [ $ACC == "ham" ] || [ $ACC == "spam" ]; then
echo "Skipping system account, $NAME...";
else
echo "Modifying $ACCOUNT password...";
su - zimbra -c "zmprov sp $ACCOUNT NewPassword";
su - zimbra -c "zmprov ma $ACCOUNT zimbraPasswordMustChange TRUE;
echo "Done!"
echo ""
# read anykey
fi
done
echo "Modifying password for all user has been finished successfully" I think it would be better to include some personal ID (part of user name or any fields) so we could generate password for all Zimbra user but also keep create a random-known password. In my case, I've included user birthday as part of their generated password to prevent someone steal/login to anyone mailbox. It's not really secure but in my case, sufficient for temporary password.