The Exchange Distribution List Reporting Tool…

NOTE: Versions 1.0, 1.1 and 1.2 of this tool have now been superseded by version 2.0 of this tool – you can find the associated article here:

NOTE: If you would like to install the DLRT on Exchange 2013 – please use the version that has been posted here:

A couple of organisations that I have worked for over the years have had a need to provide some form of reporting to staff who are employed outside of the IT department that enables some oversight of Exchange Distribution List membership. In the main this has been a requirement from HR departments who have taken on the responsibility of managing Distribution lists within their respective organisations.

Given that management of Distribution lists can be easily delegated – but simple reporting on membership is not (remember for people outside IT using Powershell is probably a “no no”) – I wrote the DLRT (Distribution List Reporting Tool) for those two organisations and decided to release it on my blog; just in case someone else out there is looking for some thing similar.


The following are the pre-requisites for the Distribution List Reporting Tool.

  • Windows Server 2008 R2
  • IIS 7.0
  • .NET Framework 3.5 or above
  • Access to Active Directory Users and Computers and the rights to setup a new account in Active Directory and grant “Account Operators” rights
  • Exchange 2010
  • Exchange 2010 Management Tools installed on the chosen server


Download the following self extracting archive to a server on your network which meets specification in the pre-requisites section.

cntMstr006  [ Distribution List Reporting Tool – Version 1.2 – 168KB ]

Installation and Setup

Double click on the setup file (DistInstallSetup.exe)  that you have downloaded to your chosen server – click on the “OK” button.


You will be asked where you would like to place the installation files – you can either accept the defaults or choose an alternate location, however you should make a note of where you place the files as you will need this information later on. When you are ready click on the “Unzip” button (marked with the green tick).


When the extraction is complete, click on the “OK” button.


When the files have been extracted to your servers – open up Active Directory Users and Computers. Navigate to an appropriate OU or container, right click and from the context menu that appears choose [ New –> User ] (marked with green ticks below).


You will then be asked to create a new user object in the directory. This account will be used for the application pool within IIS for the DLRT. You can call the account whatever you like but, again remember your customisations as you will need them later on when configuring IIS.


Provide a password for your new user account – ensure that you select “User cannot change password” and “Password never expires” – when done, click on the “Next” button.


Confirm the creation of the user by clicking on the “Finish” button.


When you have created your user – you need to add it to the “Account Operators” group in Active Directory. Find the account that you have created, right click on it and from the context menu that appears select the “Add to group” option (marked with a green tick below).


From the selection box that appears type in “Account Operators” and then click on the “OK” button.


You will then be presented with the operation completion dialog – click on the “OK” button.


Next you will need to open up the Internet Services Manager on your server. Navigate to “Application Pools” – right click on the entry and from the context menu that appears choose the “Add Application Pool” (marked with a green tick below).


From the dialog box that appears provide a name for the Application Pool – and ensure that the other options are configured as per the example in the image below.


When the application pool has been created – it will appear in the right hand window pane of the IIS manager. Right click on it and from the context menu that appears select the “Advanced Settings” options – marked with the green tick below.


The Advanced Settings dialog will appear – find the entry for “Identity” and click on the button next to the entry (this is marked with the green tick in the example below).


From the dialog box that appears provide the name of the Active Directory account that you created earlier on.


You are now ready to add the IIS application. On you IIS web server – where you created the Application Pool – right click on the “Default Web Site” entry and from the context menu that appears choose the “Add Application” option – this is marked with a green tick in the example below.


Provide an alias for the application (this will be the end of the URL that you connect to from IE) – in the example below this is “reporter” – therefore the URL would be http://<yourserver>/reporter. Click on the “Select" button for the application pool and choose the pool that you created in the earlier step.

Under “Physical Path” click on the “” button and browse to the path where you extracted the setup files at the beginning of the setup process. Then you are done, click on the “OK” button.


When the application has been created, select it from the entries under the “Default Web Site” and then from the right hand window pane – double click on the “Authentication” entry.


Ensure that all of the authentication methods listed match the examples provided in the image below.


Using the tool

Open Internet Explorer and navigate to the server URL where you installed the tool – if you have followed the setup above this should be http://<installationServer>/reporter – the will present you with the DLRT landing page. Click on the “Populate” button (marked with the first green tick in the image below) which will then populate the drop down list with all of the distribution lists that have been found. Click on the “Get Members” button to return all members of that lists (this is marked with the second green tick in the example below).


All the members of the list will populate below the drop down list which contains the Distribution Lists. You can click on the “Print” button to send the report to your printer.


If you wish to report on all members of every distribution list in your organisation – click on the “Report on all lists” link at the top of the Reporting Tool screen. Then click on the “Generate” button (highlighted with the green tick in the image below).


The Reporter will then give you a full overview of the membership of all detected distribution lists in your organisation.


I hope that someone out there finds this tool useful.


  1. Great tool. Only one problem when i click ‘populate’ i get the following error: There has been an error: Input string was not in a correct format. Please report this to you support group. Any ideas?

  2. Figured it out. I only had one Dlist as i ran it in a test lab of mine. Created another one and its now populated. Once again great tool and great work!!

    1. Hiya Shawn, yes this is a small bug in the tool which I am looking to fix, but I figured that it was unlikely that there would be one Dist List in the org – but of course forgot that people would test it out first and might only have one ~ doh!. I’ll try and get that fixed today.
      Cheers for the feedback.

      1. Hi.

        I’m using version 1.1 and I have mor than 1 distrubition group, but I still get the error message:

        Input string was not in a correct format. Please report this to you support group.

        I’m using a german version auf Windows Server 2008 R2 and Exchange 2010. Might this cause the problem ?

        Best regards,


        1. Hi.
          Now ‘Populate’ works. I had to update the exchange management tools.

          But when I select a distribution group and click on ‘Get members’ the members don’t always appear, but the following error message is shown.

          Debug Event Handler: Error Information: Die Eingabezeichenfolge hat das falsche Format.
          Inner Exception:

          Source: mscorlib

          Stack Trace: bei System.Number.StringToNumber(String str, NumberStyles options, NumberBuffer& number, NumberFormatInfo info, Boolean parseDecimal) bei System.Number.ParseInt32(String s, NumberStyles style, NumberFormatInfo info) bei System.Convert.ToInt32(String value) bei DistributionListReportingTool._Default.dd_DistNames_SelectedIndexChanged(Object sender, EventArgs e) in x:\DistListReporter\DistributionListReportingTool\Default.aspx.cs:Zeile 145.

          Data: System.Collections.ListDictionaryInternal

          I use a german version of windows server 2008r2 and exchange server 2010.


          Is it possible to sort the distribution groups in alphabetical order ?

          Best regards,

          Martin Schedlbauer

          1. Hiya Martin, as per my e-mail; I have issued a fix (version 1.2) for the issues that you are seeing – I have also added a “Sort” button.

  3. Nice tool…!

    However I select the report on all list it gives all the DL with members but if I select report on single list the DL gets shown but not its members. (No error but an message – there are no members in the list)

  4. Hi – does your tool work with distribution lists that are inside office365? We have a hybrid installation with many DL’s in o365 then shared down to the on-prem servers. From what I’ve seen, powershell uses different comandlets to connect to o365 vs on prem – hence the question.

    Thanks in advance for the info – I’m very hopeful this will work.

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.