Re: Creating AD account and Exchange Account

[email protected] (Yash Vartak)
Newsgroups perl.ldap
Message-ID <C77155C2.557%[email protected]>
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" <[email protected]> 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:[email protected]]
> Sent: Sunday, January 10, 2010 2:10 AM
> To: Sheahan, John; '[email protected]'
> 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.
> [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
> 

Regards

Yash 

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Ph +65 9456 8179 | http://www.vartakinc.com
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.