Creating Exchange Labs Mailboxes using the CSV Import Tool

While I have to say I prefer to use PowerShell to create mailboxes as I like to do some customization of the scripts, if you simply want to create a load of mailboxes in one go, the CSV Import tool will do the job just as well. 

There is a good collection of articles on this tool on our Technet site here.  The only thing I can say you need to watch out for is that the csv file format that you use with the CSV Import Tool is slightly different than the one you use with our CSV_Parser.ps1 script.

CSV Import Prerequisites:

Prepare a CSV file for use with the CSV Import Tool:
There are a number of places you could obtain a CSV file from in the format required to use with the CSV Import Tool.  If you have an Active Directory running to support your student accounts, you can use the CSVDE tool to get this file (download here:  If you do not have an AD running, it is highly likely you will have other databases you can extract an accurate list of your user population from.

  • The CSV file needs to be laid out in a set format.  You can work with many combination of actions and mailbox attributes when creating your new users, but only a few of these are mandatory:
    • Action: The type of procedure to be performed, for example ‘Add’
    • Type: You can create 2 types of item, an ‘Account’ or a ‘Contact’
    • EmailName: the email address of the new mailbox you want to create.  This address also becomes the LiveID
    • Then there are many others…a full list of all the attributes you can specify are here:, along with sample csv files for your reference.

Anyway, I recorded a short video of me creating some users with CSVImport.exe for your viewing pleasure.




Technorati Tags: ,


8 Responses to Creating Exchange Labs Mailboxes using the CSV Import Tool

  1. Jonathan says:

    Here is the AD export command script I threw together for retrieving the recent AD additions into our student OU.  No, I haven\’t taken time to fully clean the script, but it will work.  Begin createcsvde_export.vbs file…..dim datestring, daynum, monthnum, cmdstring, oustring, searchstring, columnname , objShellSet objShell = Wscript.CreateObject("Wscript.Shell")columnname = "sAMAccountName"oustring = "OU=Students,OU=TSU Users,DC=Tnstate,DC=edu"\’this fixes the date to day before yesterday, because I\’m lazy and dont want to deal with end of month scenariodaynum = day(Date())daynum = daynum -2if (len(daynum) < 2) then    daynum = "0" & daynumend ifmonthnum = month(Date())if (len(monthnum) < 2) then    monthnum = "0" & monthnumend ifdatestring = year(Date()) & monthnum & daynumsearchstring = "(&(&(objectCategory=person)(objectClass=user)(whenCreated>=" & datestring & "000000.0Z)))"cmdstring = "csvde -f c:\\scripts\\students.csv -d " & """" & oustring & """" & " -r " & """" & searchstring & """" & " -l " & """" & columnname & """"\’msgbox cmdstring objShell.Run cmdstring,1end createcsvde_export.vbs file…..

  2. Unknown says:

    We\’re using this tool to create users automatically from database and with PowerShell script. So
    1. PowerShell exports approved users from DB to .csv tool
    2. it executes the csv-import tool
    3. notifies users by email
    The problem we\’re having is that it doesn\’t support slovenian characters (č,ž,š). Does the csv file need to be in any specific encoding?

  3. US LiveAtedu says:

    @brez imena
    Let me check…

  4. US LiveAtedu says:

    @ Jonathan Holman
    Cool!  I will blog on this to call out your altruism 🙂  We actually have an official place to store scripts like this:… I think this may be a better place to put this kind of thing, except there is no good way to link up with this site… I may just add a link.

  5. Hernan Giovanni says:

    Note: Do not write English, that I do so with a translator.Working at a university in Colombia, and configure the domain live @ edu and have created accounts. The question is, there is a way to do it automatically from an internal application, a form which collects data from students and the application automatically connects to live @ edu, and create the account?Thank you

  6. US LiveAtedu says:

    @Hernan,You do not say if you are referring to Exchange Labs or Hotmail. Both of these services provide a programming interface, so you could develop your own form if required. A few customers have asked for this. I am currently working on a project to deliver this solution, and it is my intention to put the sample code onto codeplex once it is completed.Trying to translate this into Spanish… 🙂 Using @ Hernán,Usted no dice que si usted se refiere a prácticas de Exchange o Hotmail. Ambos de estos servicios proporcionan una interfaz programación, por lo que usted podría desarrollar su propia forma si es necesario. Unos clientes han solicitado para ello. Actualmente estoy trabajando en un proyecto para ofrecer esta solución, y es mi intención colocar el código de ejemplo en codeplex, una vez completada.

  7. Hernan Giovanni says:

    Hi Jonny, good dayI am working with hotmail. The average number of accounts is 3000, I have configured the file level to create the accounts and massive works, as I have ever tasted. But I do not want to do it that way … I have an application in php which verifies the student (, if the student is having an option to activate account … and under apis, or is not it …. domainlive to connect and create the account for that user. That would be the correct way to create the accounts as students the trigger … What do you think? I suggest?Giovanni

  8. US LiveAtedu says:

    @Hernan,I am not quite following your question… could you email it to rubensan_at_microsoft_dot_com, and I can work with him on it? He works on Live@edu in Colombia. Jonny

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: