Got it working
Thank you all.
code:
;--------------------------------------------------------
; Security object for SD manipulation
; (REQUIRED ADSI TOOL KIT - REGSVR32 ADSSECURITY.DLL)
;--------------------------------------------------------
;--------------------------------------------------------
;---------------CREATING A MAILBOX ----------------------
;--------------------------------------------------------
;--- Server, Org and Site information ---
$server = "ExchangeServer"
$Org = "Organisation"
$Site = "Organisational Unit"
$domain = "@DOMAIN"
$strDisplayName = "John Smith"
$strFirstName = "John"
$strLastName = "Smith"
$username = "smithj"
$strAlias = $username
$strMTA = "cn=Microsoft MTA,cn=$server,cn=Servers,cn=Configuration,ou=$Site,o=$Org"
$strSMTPAddr = "john.smith@@domain.com"
;---------------------------------------------------------------
; Build Recipient container's adsPath:
; LDAP://myserver/CN=Recipients, OU=Site, O=Org
;---------------------------------------------------------------
$ADsPath = "LDAP://$server/cn=Recipients,ou=$site,o=$Org"
$objCont = GetObject($ADsPath)
;---Create a new MailBox---
$mailBox = $objCont.Create("organizationalPerson", "cn=$strAlias")
$mailBox.Put("mailPreferenceOption",0)
$mailBox.Put("givenName", $strFirstName)
$mailBox.Put("sn", $strLastName)
$mailBox.Put("cn", $strDisplayName)
$mailBox.Put("uid", $strAlias)
$mailBox.Put("Home-MTA", $strMTA)
$mailBox.Put("mail", $strSMTPAddr)
$mailBox.Put("MAPI-Recipient", True)
$mailBox.Put("rfc822Mailbox", $strSMTPAddr)
;--------------------------------------------------------
; Associating to a primary account
; (Requires the ADSI tool kit - REGSVR32 ADSSECURITY.DLL )
;--------------------------------------------------------
$ADS_SID_WINNT_PATH = 5
$ADS_SID_HEXSTRING = 1
$sidobj = CreateObject("adssid")
$sidobj.setas(5,"WinNT://@DOMAIN/$strAlias,user")
$sid = $sidobj.getas(1)
"ADSI SID = " + $sid ?
$mailBox.Put("Assoc-NT-Account", $sid)
$mailBox.SetInfo
? "Mailbox created: "@SERROR +"Error code: "+@ERROR
$mailbox = ""