Contact Master–Bulk Import of Mail Enabled Contacts for Exchange 2007 and 2010…

by Andy Grogan on September 30, 2011 · 6 comments

in Downloads, Exchange 2007, Exchange 2007 (General), Exchange 2010, Exchange 2010 (Admin), Exchange Programming .NET, Powershell

Edit:

This article has been updated to reflect a slightly revised version of the Application. The old version did not correctly load the Exchange 2010 Management Agents. The version has been updated to 1.0.1 – if you downloaded the old version (1.0) and are running Exchange 2010 – please download and install the new version of the tool.

I have been working with a friend recently to bulk import a number of Mail Enabled contacts into a new Exchange 2007 environment that he has setup. Now this should not be the most difficult of processes – as by using Powershell – it should be relatively easy process to import each contact into the Directory from a CSV file.

However on this occasion – it proved to be a little tricky for a couple of reasons;

  1. Although my friend is a very experienced IT professional, he has not worked hugely with Powershell – therefore some of the initial scripts to perform the import contained some errors that he needed assistance in fixing
  2. The source CSV file that he was working from, contained a number of formatting errors and duplicates that needed removing or fixing before the end script would work

This whole process got me thinking, that whilst Powershell is an exceptionally Powerful tool for Exchange Administration – it can be very daunting for people whom are not used to a shell scripting language and from assumption – creating bulk contacts in Exchange 2007 and 2010 is a fairly common task.

Therefore I decided to write a simple tool that performs CSV Mail Enabled contact Imports via a GUI (Contact Master) – but also gives the admin the Powershell code – this can be used as a learning tool, as well as help get the job accomplished.

The tool is compatible with both Exchange 2007 and Exchange 2010.

Requirements

In order to run Contact Master this host machine must meet the following software specifications:

  • Windows XP x64, Windows Vista x64, Windows Server 2003 RTM or R2 with SP 1 or higher x64, Windows 2008 RTM or R2 with Service Pack 1 or higher x64
  • .NET Framework 3.5 or higher
  • Powershell Version 2.0
  • Quest AD CMDlets installed – download from: http://www.quest.com/powershell/activeroles-server.aspx
  • Exchange Management Tools Installed

Download

You can download Contact Master from the following location:

cntMstr006[ Contact Master Setup – 302KB ]

Installation

When you have downloaded the setup file – double click on the “ContactMasterSetup.msi” file:

cntMstr001

You will then be presented with the welcome screen within the setup wizard – you should click on the “Next” button to continue – see below

cntMstr002

You will be asked where you would like to install the application binary files – either choose a location which suites you – or accept the defaults – when done – click on the “Next” button – see below

cntMstr003

You will be given the chance to review you selections – when happy click on the “Install” button – see below

cntMstr004

After a short install – you will be presented with the “Completing Install” screen – click on the “Finish” button

cntMstr005

Configuring the Source CSV file

Before using Contact Master you should ensure that you have setup the CSV file that you intend to use with the program correctly. Contact Master expects the following fields (or headers to be present in the CSV file):

  • FirstName
  • LastName
  • Inital
  • DisplayName
  • EmailAddress
  • Alias

Of which the following fields are mandatory – e.g. MUST have values for each entry:

  • DisplayName
  • EmailAddress
  • Alias

Therefore a good example of a compatible file would look like:

cntMstr009

You have the option of NOT supply values for FirstName,LastName and Initial – but you MUST have the headers present within the CSV file – for example;

cntMstr010

I recommend that you use a program like Microsoft Excel to generate your CSV file as you can take advantage of a number of features such as concatenation as well as having a good environment to control the layout of the file and the export it to CSV.

Using Contact Master

Contact Master can be started from your Desktop or via the Start Menu – see below

cntMstr007

When the application has loaded you will be presented with the following screen:

cntMstr008

The first thing that you should review when the program has loaded is the “Status” area – this will give you important information about dependencies that the tool relies upon. If everything is OK on the host system the status Window Should look like the following:

cntMstr018

However if there is a problem – you will see a message like the following:

cntMstr012

If you have a problem like the one above – you will need to correct it before you can continue using the tool, if you are running Exchange 2010 and see that the Management Shell is not installed – ensure that you TICK the “Running Exchange 2010” check box – this should correct the error (unless of course you are running 2010 but have not installed the correct Management tools on your host machine).

Please NOTE:

You should NOT have to tick the “Running Exchange 2010” checkbox if you are running 2007

Assuming that everything is OK – the first step is to select the Organizational Unit that you wish for your contacts to be placed within. This is done by using the Active Directory tree picker that is located on the left hand side of the screen.

It is VERY important that you select an OU rather than a container – selecting anything other than an OU will cause the program to generate an error.

You can select an OU using the Mouse – see below

cntMstr013

When you are happy with your Selection click on the “Lock OU” button – this will enable the “Import” button – and update the status of the Selected OU to reflect what you have chosen – see below

cntMstr014

When you are happy with your selection – click on the “Import” button – this will present you with a Open File dialog, here you will need to supply the location of your Import CSV file – see below

cntMstr015

When you click on the open button – the program will then being the Import of the Contact entries into the Directory – when this has finished you will see that the “Powershell Script” and “Log Window” areas have changed to reflect the processes that have take place – see below

cntMstr016

If you now check the destination OU within AD, you should see all of your Contacts have been created. You can also use the Output in the “Powershell Script” area to modify your own custom scripts should you need to.

I hope that you all like this tool – and I would also like to credit Marc Merritt for his AD Picker Control.

Social

{ 6 comments… read them below or add one }

Alan March 16, 2012 at 5:30 pm

What a super utility!!! Works great and now I am wondering how do I add Custom Attribute 1 to the import? I added a column in the .csv file and named it CustomAttrbute1 but it would not import. Thank you for your help.

Reply

Alan March 16, 2012 at 5:32 pm

What a great utility!!! How do I add something into Custom Attribute 1 using this utility?

Thank you for your help.

Reply

Annett April 20, 2012 at 9:44 pm

I also would like to add another field. I want to populate the company field because I have an Exchange rule that creates an address list with that field.

This is an awesome tool!

Reply

Eric November 7, 2012 at 5:03 pm

Anyone else having trouble with emails with that contain an hypehn?
Example-
Not-Working@majorheadache.com

Reply

MArc April 5, 2013 at 2:51 pm

Is there a way to add additional fields to the import?

Reply

Anthony September 7, 2015 at 3:23 am

Hey, does this just create contacts in AD or does it also create Mail Contacts in Exchange?

Reply

Leave a Comment

Previous post:

Next post: