If only everything was as easy & straight-forward as account provisioning in Zimbra:
[shell]!/usr/bin/perl
# ZCS IMPORT SCRIPT
# Provided by : ZCS Wiki
# Modified by : J.R.
# Last Change : 2008.04.09
#
# Lookup the valid COS (Class of Service) ID in the interface or like this
my $cosid = `su – zimbra -c ‘zmprov gc apd |grep zimbraId:’`;
$cosid =~ s/zimbraId:\s*|\s*$//g;
while (<>) {
chomp;
# CHANGE ME: To the actual fields you use in your CSV file
my ($email, $password, $first, $last) = split(/\,/, $_, 4);
my ($uid, $domain) = split(/@/, $email, 2);
print qq{ca $uid\@$domain $password\n};
print qq{ma $uid\@$domain zimbraCOSid “$cosid”\n};
print qq{ma $uid\@$domain givenName “$first”\n};
print qq{ma $uid\@$domain sn “$last”\n};
print qq{ma $uid\@$domain cn “$uid”\n};
print qq{ma $uid\@$domain displayName “$first $last”\n};
#Set the user’s reply or canonical address
print qq{ma $uid\@$domain zimbraMailCanonicalAddress $uid\@cityof*****.org\n};
#Add e-mail account alias for multiple domains
#Verify domain is correctly working for provisioning aliases
print qq{aaa $uid\@$domain $uid\@cityof*****.com\n};
#Add all users to a general distribution list and terminate
#Add multiple distro-lists if desired
print qq{adlm dept.all\@cityof*\**.org $uid\@cityof***.org\n};
print qq{\n};
}[/shell]
Share this post
Twitter
Google+
Facebook
Reddit
LinkedIn
StumbleUpon
Email