Skip to content
Béla Király edited this page May 28, 2019 · 2 revisions

Introduction

What is this program exactly?

As I wrote in the ReadMe, Microsoft gives a rather handy tool for basic tasks to the Active Directory administrators by the RSAT bundle, but it lacks some advanced features you might need in some cases. If you have to handle a large number of AD objects, there is a pretty good chance you need a program like this at some point of your carreer. Or you learn to use PowerShell on a high enough level to write the few lines of code anytime you need to do such tasks. Which I absolutely encourage you to do, as PowerShell is the ultimate tool to work with Active Directory.

What this program isn't

It isn't an all-around tool to tackle Active Directory tasks. Its goal is to expand the functionality of "Active Directory Users and Computers" (hence the aduc-mass name), therefore it can't do many things that ADUC can, but it can do many things that ADUC can't.

Function overview

I probably will make a better, more detailed explanation about functions later, but right now, I just list the things the program can do.

Query all users of a group

The name itself is self-explanatory. It can collect all users of a group, and let the user do tasks with them. Right now these tasks are:

  • Output the members of the group on the console
  • Save the members of the group into a csv file
  • Copy the members of the group into another group

While ADUC does have a way to show every user of a group, we can neither save the list to a file, nor can copy them to another group, and both functions can come in handy several times.

Query group memberships/attributes of a user

Originally (I mean from v0.1 till v0.8) this function was the same as the one before it, just the other way around. Now it's a bit more complex. It can:

  • Collect the group memberships of a user
  • Make a list about the selected attributes of a user
  • Output these on the console
  • Save these into a csv file
  • Copy the group memberships to another user

Once again, the first two is achievable in ADUC, but the saving into a csv isn't, neither does copying the memberships. Well, it's not entirely true, as when creating a new user we can copy the profile of an existing one, but that copies other attributes too, that we might don't want to. Also, we can't copy these to a user that already exist.

Query memberships of every groups in an OU

Another self-explanatory thing. Basically it does almost the same as the first function, except for it collects and saves the members of every group from an OU into separate csvs. It can't output the results on the console, as that would absolutely be useless, and it also can't copy the members to anywhere, as that also would be useless.

Query the memberships of every user in an OU

Also speaks for itself. It does the same as the one before it, just the other way around. It collects the group memberships of users, and not the members of groups.

Query ALL computers of an OU

Query ALL users of an OU

I write about them at the same time, as these functions do exactly the same except for one does it with users, the other does it with computers. In the earlier versions they worked completely differently. I pre-set them with few attributes to show, and two filters to filter the results. One of the filters (OU) was compulsory, the other wasn't. In the latest major release this got changed. Now the user can change the attributes they want to appear in the output, and they can also change the filters they want to filter the results by. At the moment the program has three filters:

  • Active status
  • Last logon
  • Organizational Unit (OU)

Contrary to the earlier version, choosing an OU is not compulsory anymore. It is still highly advised, but the program lets queries run on the whole Active Directory. Neither of these things are in ADUC, and they can make administrating the active directory way easier. In a future release adding custom attributes will be made available. Right now the function is written, but it doesn't work as I intended it to, so I turned it off, so it doesn't delay the release of next version of the program.

Bulk change attributes of users

The real heavy hitter of this program. It can take the contents of a csv file, read the attributes we want to change from the first row, and then change the values with what it finds in the rows. It can cut workours down by hours, if one needs to change several attributes of a large number of users. As it is a dangerous function that can cause complications, I implemented a save feature. It saves the modified attributes of the users line by line, therefore even if the program stops running at some point for some reason, there won't be more missing non-backupped attributes other than the row the program worked on at the moment. It also has an error report feature, that works exactly like the backup. It collects the errors into a csv file.