Hi all, I have been given the task of (For each user in Active Directory)
retrieving the following information from their Windows 2003 profile
Number of and size of the following files each person has
Audio
Video
Word doc
Excel
PowerPoint
PDF
Script (.js, .vbs)
Miscellaneous
I also have to query exchange and retrieve the number of emails they have as
well as the amount of space they are taking up in exchange
In order to do this I am currently going to their profile on the servers
drive and running a recursive function which keeps track of all the
information needed
e.g. if it finds a word doc then it queries its size and adds it to the
global WordDoc count and WordDocSize variables, same for all of the files
mentioned above. When the recursive function exists it returns this
information and the info is stored into the database. All the searching etc
for all the files is done at the same time inside the same recursive
routine.
Now, as you could imagine, this takes a long time for the 4000 users in our
AD....
I am using threading to speed it up by having more than one thread running
at once doing the search (A thread is spun up for the first letter of each
users last name so I have twenty six threads running at once, e.g. it
searches for all lst names beginning wth A,B,C etc at the same time hence
the 26 threads) and it seems to run fine.
I am open to ideas about how I can speed up the search without having a
million threads running at once
Thanks in advance
Mark