RE: Creating AD account and Exchange Account

[email protected] ("Sheahan, John")
Newsgroups perl.ldap
Message-ID <09F205C089889344BDDB6FB253D417215949FD2F22@NW-E2K7-ECL1.corp.pcln.com>
Wow..that's good and bad to know :)

It sounds like I am going to have no other option but to learn Powershell...something I have been purposely putting off.

Is there any other way to do it besides Powershell?


Thanks

John


From: Yash Vartak [mailto:[email protected]]
Sent: Monday, January 11, 2010 9:25 AM
To: Sheahan, John; '[email protected]'
Subject: Re: Creating AD account and Exchange Account

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]<[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]<[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.