John,
Sorry for replying this mail so late, I saw it just a day back.
I guess you have had trouble while creating a exchange 2007 mailbox with AD
using perl
Below is a sample code, this would create a AD active user UAC 512
$ADS_UF_NORMAL_ACCOUNT=512
sub Make_User {
my ($objConn, $emplid, $ntID, $cn, $dn, $displayName,
$m_server, $s_grp, $g_name, $sn, $grp, $ou,
$dn, $company, $type, $mail, $pwd, $success) = @_;
my ($ADS_UF_NORMAL_ACCOUNT, $objParent, $objUser);
print LOG "make_user starting Success = $success\n" if ($debug);
use Win32::OLE;
Win32::OLE->Option(Warn => 2);
# Taken from $ADS_USER_FLAG_ENUM
print "DN = $dn\n CN = $cn\n" if($debug);
$ADS_UF_NORMAL_ACCOUNT = 512;
# Create base user account
$objParent = Win32::OLE->GetObject("LDAP://".$dn);
$objUser = $objParent->Create("user", $cn); # e.g. joes
$objUser->Put('sAMAccountName' , $ntID); # e.g. joes
$objUser->Put('userPrincipalName' , $ntID. "\[email protected]"); # e.g.
[email protected]
if (($g_name) && ($g_name ne $sn)) {
$objUser->Put('givenName', $g_name); # e.g. Joe
}
$objUser->Put("sn", $sn); # e.g. Smith
$objUser->Put("displayName", $displayName); # e.g. Joe
$objUser->SetInfo;
if (Win32::OLE->LastError) {
$success = 0;
}
# set the password, enable the account & set VPN access
$objUser->SetPassword($pwd);
$objUser->Put("userAccountControl", $ADS_UF_NORMAL_ACCOUNT);
$objUser->Put("pwdLastSet", '0');
$objUser->Put("company", $company);
#set dial access
if (($grp) and ($grp ne "512")) {
$objUser->Put('msNPAllowDialin', "TRUE");
}
$objUser->SetInfo;
if (Win32::OLE->LastError) {
$success = 0;
}
} # end Make_User
Once you are done with creating a active user .. use external powershell to
create a mail box, I know this is cumbersome but only reliable way to create a
mail box on Exchange 2007.
enable_nt_mb.ps1 is a external power shell script to mail enable and existing
nt id it take ntid , mailserver, storagegrp as command line paramenters
my $yCmd="powershell -command \"& {d:\\enable_nt_mb.ps1 $ntID $m_server
$s_grp}\"";
my $opCmd=`$yCmd`;
Something on these lines.
Regards,
Yash Vartak
-----Original Message-----
From: Sheahan, John [mailto:[email protected]]
Sent: Wednesday, December 30, 2009 2:07 AM
To: '[email protected]'
Subject: Creating AD account and Exchange Account
Has anyone been able to create the AD and Exchange Account from a perl script?
john