Batch and Automate Distribution List membership
***Please read update in Red at the bottom of this post***
Immagine you are in the I.T. Department at a larger company. Now immagine that your users get a lot of e-mail, seriously, thousands a day – mostly because they are on distribution lists for the company which receive a lot of mail. Now picture these users traveling internationally and wanting to save on roaming data charges by cutting down on the volume of e-mail they receive on their mobile phones, or simply want to go on vacation and not have to deal with the burden of managing their e-mail while they are out of the office. On top of all this (by this time you may really working your immagination) the users want you to take them off of a huge number of lists at weird times of the day such as 10pm. In addition they want to be re-added at 5am the following week.
How do you handle the above scenario? What would you do? Normally the users I deal with may just accept that they have to stick with normal business hours for list changes such as I described above. Or perhaps they will rely on international I.T. Support to do it for them due to the convenience of time zone differences.
What if there were a better way to deal with this situation? Would you be interested? What if there was a way to batch and automate the addition or removal of Distribution Lists on a user’s account?
I found myself in exactly the same situation I described above. I spent some time researching my options and trying to find a good solution; something that would let me create batch files which could be setup as a scheduled task in widnows. Something that could add and remove DLs from a user’s profile at any time of the day or night without me having to pyhsically make the change myself. To my surprise, I couldn’t find anything out there that would do the job. Thats when I decided to head over to vbforums.com and ask for some help creating an application or script that would do what I needed.
With gracious work by member chris128, a new application was created that completely takes care of the above scenarios. Chris created an application called DLManager in VB.NET, and I performed real world testing and evaluation of the program. This is a very useful application that goes even beyond Distribution List management into the realm of security groups as well. Which means you could batch, automate and schedule Active Directory security group membership changes as well.
* Compiled VB.NET executable meant to be called from the command line
* Requires the .NET framework 2.0 or higher in order to function
* Can be run in a DOS batch file
* Can be scheduled via batch script or other automation tool (see http://www.networkautomation.com)
* Very small footprint at less than 30kb in size
* .ini config file to hangle AD domain configuration information
Command line syntax: dlmanage.exe [add/remove] [target AD username] [DLNAME] (OPTIONAL): adminusername adminpassword
Example for admin user: dlmanage remove jdoe “Information Technology”
Example for non-admin user: dlmanage remove jdoe “Information Technology Administrator AdminPasswordHere
(this download is free software, and full credit goes to the author, see author’s site for more details)