It was a long time ago that I hadn’t written a post.
I’m taking advantage to have some spare time to finally make it.
I’d come across the article of Jorge allowing to create demo accounts on Zimbra using a script.
Apart from the fact that Zimbra already offers this option by default:
zmprov createBulkAccounts (cabulk) {domain} {namemask} {number of accounts to create}
going through an intermediate file and having to modify the script to adapt it makes the solution, in my opinion, painful.
You will tell me, that the command provided by Zimbra does the job, yes, but it must be executed from the Zimbra server.
To solve this, I created a script allowing to perform the same manipulation, but from any computer having curl installed and above all using SOAP, so no need to load Zimbra user environment variables.
So in terms of performance, that’s how it works:
Zimbra command (executed from Zimbra server)
time zmprov createBulkAccounts domain.tld test 50 3c832f41-8f94-4b2f-b989-7ef40156f2f4 ... 20a09f7a-172c-4ac0-9df0-f568444ecfe4 51ff0d62-54d0-4bcd-8cd1-22db50bbbe41 real 0m6.256s user 0m5.296s sys 0m0.126s
Jorge script (executed from Zimbra server)
time zmprov -f /tmp/userlist.zmp prov> b83aef83-98e2-470f-957e-7e144bc9c4da ... prov> a93cb901-ce8a-4351-8a53-b39772797068 prov> real 0m6.259s user 0m5.529s sys 0m0.188s
Soap Script (executed from Zimbra server)
time zimbra_soap_demo_account.sh -a zimbra_admin -s zimbra_url -u test -d domain.tld -c 50
Enter Zimbra Admin Password
Creating Account test0@domain.tld
Creating Account test1@domain.tld
...
Creating Account test49@domain.tld
real 0m4.804s
user 0m0.492s
sys 0m0.090s
\o/ 2 seconds won on 50 accounts !
The big advantage is that it’s portable and you can create your accounts from anywhere:)
An example from my computer via an internet connection that deserves to be upgraded (4 Mbps):
time zimbra_soap_demo_account.sh -a zimbra_admin -s zimbra_url-u test -d domain.tld -c 50
Enter Zimbra Admin Password
Creating Account test0@domain.tld
Creating Account test1@domain.tld
...
Creating Account test49@domain.tld
real 21.799
user 1.43s
system 0.75s
You must also take into account the time to type your password 😉
You will find the script on my github.