JR

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]