Skip to main content

Adding Bulk New Contacts to Microsoft Active Directory

Sometimes it is a pain for SysAdmins to add objects to Windows AD. In this example i have provided a visual basic script which reads information about some mail enabled contacts from a tab seperated text file, then create them in the Active Directory.

Every line of the text file includes:
Contact Name
First Name
Surname
Description
Office
Phone Number
E-Mail
City
Title
Department
Company


vbscript includes: (Just adapt ldap path and text file path to your needs.)
On Error Resume Next
Set objOU = GetObject("LDAP://<Domain Controller Hostname>l/ou=<organizational unit name>,dc=<domain name>,dc=<domain name>")
Const ForReading = 1
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objFile = objFSO.OpenTextFile("<Text File Path>", ForReading)
Do Until objFile.AtEndOfStream
    strLine = objFile.ReadLine
    arrFields = Split(strLine, vbTab)
Set objContact = objOU.Create("contact", "cn=" & arrFields(0))
objContact.Put "givenName", arrFields(1)
objContact.Put "SN", arrFields(2)
objContact.Put "displayname", arrFields(0)
objContact.Put "Description", arrFields(3)
objContact.Put "physicalDeliveryOfficeName", arrFields(4)
objContact.Put "telephoneNumber", arrFields(5)
objContact.Put "Mail", arrFields(6)
objContact.Put "l", arrFields(7)
objContact.Put "title", arrFields(8)
objContact.Put "department", arrFields(9)
objContact.Put "company", arrFields(10)
objContact.SetInfo
WScript.Echo arrFields(0) & " - Contact OK"
Set objRecip = objContact
FwdAddress = "smtp:" & arrFields(6)
objRecip.MailEnable FwdAddress
objContact.SetInfo
WScript.Echo arrFields(0) & " - SMTP OK"
Loop
objFile.Close

Note: Run this script from command line using cscript like "cscript <script-name>.vbs"

Comments

Popular posts from this blog