JR

1 minute read

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]

comments powered by Disqus