Skip to Main Content
Exchange Server Cookbook
book

Exchange Server Cookbook

by Paul Robichaux, Missy Koslosky, Devin L. Ganger
June 2005
Intermediate to advanced content levelIntermediate to advanced
464 pages
13h 2m
English
O'Reilly Media, Inc.
Content preview from Exchange Server Cookbook

5.10. Bulk-Adding Mailboxes from an Excel Worksheet

Problem

You have an Excel spreadsheet (or some other data source that can easily be turned into an Excel sheet) and you want to add many mailboxes at once based on its contents.

Solution

Using VBScript

' This code will read the contents of an Excel file and use the fields
' to create a set of mailboxes 
' ------ SCRIPT CONFIGURATION ------
 strComputerName = "<ServerName>"  ' e.g., batman
 strWorksheetName = "<pathToExcelFile>" ' e.g., "c:\data\excelSheet.xls"  
 strTargetMDB = "<mailboxDBDN>"
 strTargetContainer = "cn=Users, <ForestRootDN>" ' ------ END CONFIGURATION --------- ' create an invisible Excel instance and open our specified file set objExcel = CreateObject("Excel.Application") Set objWorkbook = objExcel.Workbooks.Open(strWorksheetName) ' assume that row 1 is header data, and that rows 2-N contain data ' Columns: ' 1: first name ' 2: last name ' 3: CN ' 4: alias currentRow = 2 Do until objExcel.Cells(currentRow, 1).Value ="" userFirst = objExcel.Cells(currentRow, 1).Value userLast = objExcel.Cells(currentRow, 2).Value userCN = objExcel.Cells(currentRow, 3).Value userAlias = objExcel.Cells(currentRow, 4).Value Set objTargetContainer = GetObject(strTargetContainer) Set objUser = objOU.objTargetContainer _ ("User", "cn=" & userCN) objUser.sAMAccountName = userAlias objUser.GivenName = userFirst objUser.SN = userLast objUser.AccountDisabled = true objUser.SetInfo objUser.CreateMailbox targetMDB currentRow = currentRow + 1 Loop objExcel.quit ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Start your free trial

You might also like

Microsoft® Exchange Server 2010: Best Practices

Microsoft® Exchange Server 2010: Best Practices

Siegfried Jagott, Joel Stidley
Microsoft® Exchange Server 2003 Unleashed

Microsoft® Exchange Server 2003 Unleashed

Rand H. Morimoto - MCSE, Joe R. Coca, CISSP Kenton Gardinier - MCSE MCSA, MCSA Michael Noel - MCSE+I
Microsoft® Exchange Server 2013 Unleashed

Microsoft® Exchange Server 2013 Unleashed

Rand Morimoto, Michael Noel, Guy Yardeni, Chris Amaris, Andrew Abbate

Publisher Resources

ISBN: 0596007175Errata Page