Front page | perl.ldap |
Postings from January 2010
Re: Creating AD account and Exchange Account
Thread Previous
|
Thread Next
From:
Yash Vartak
Date:
January 11, 2010 07:23
Subject:
Re: Creating AD account and Exchange Account
Message ID:
C77155C2.557%vartak@vartakinc.com
Yes that¹s right setting attributes works fine for AD\Exchange 2003, but
this method fails when you upgrade the setup to Exchange 2007.
ADSI\COM , and LDAP are not supported by Exchange 2007, Exchange 2007 is not
as tightly integrated with AD as Exchange 2003, (as in Exchange 2007 you
can¹t right click on a AD user and select create mailbox), you need to do it
through a different Exchange 2007 console to create a mailbox for a AD
user.)
Regards,
Yash
On 1/11/10 8:56 PM, "Sheahan, John" <John.Sheahan@priceline.com> wrote:
> Thanks a lot Yash.
>
> I was able to create both the AD and Exchange 2003 account from my Perl script
> using Net Ldap.
>
> Are you saying that you think this won¹t work once I eventually go to Exchange
> 2007?
>
> Thanks
>
> john
>
>
>
>
> From: Vartak, Yash V [mailto:Yash_Vartak@NOL.COM.SG]
> Sent: Sunday, January 10, 2010 2:10 AM
> To: Sheahan, John; 'perl-ldap@perl.org'
> Subject: RE: Creating AD account and Exchange Account
>
> 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. "\@ad.xyz.com"); # e.g.
> joes@rallencorp.com
> 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:John.Sheahan@priceline.com]
> Sent: Wednesday, December 30, 2009 2:07 AM
> To: 'perl-ldap@perl.org'
> Subject: Creating AD account and Exchange Account
>
> Has anyone been able to create the AD and Exchange Account from a perl script?
>
> john
>
Regards
Yash
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Ph +65 9456 8179 | http://www.vartakinc.com
Thread Previous
|
Thread Next