Looking For Quacks In The Pavement

For most of the calendar year so far we at work have been plowing through a massive reorganization, upgrade, and consolidation of our servers. One of the last stages of this consolidation & upgrade process involved upgrading our Kaseya environment. During the shuffle I found some quirks. For instance, the UserProfiles directory contains roughly 4200 subdirectories, one per agent in the system.

Problem is, we only have about 2700 agents. The other 1500? Old agents.

I asked vendor support about this, as the impression I had was that there was an agent archive process. I mean, there’s an archive directory configured in the system, what else is it for if not to archive these agent directories? Heck, the archive directory has agent directories in it.

Apparently, nope. This isn’t something Kaseya does. I must archive those 1500 directories manually. How did the previous archive directory become populated? No idea at all.

“Okay,” you might be saying right now, “Just look for the oldest directories.”

Problem! We just migrated the front-end and database back-end parts of Kaseya to new servers over the last couple weeks! All the directories have brand new dates, all in numerical order, dating from when they were copied off of the old server.

So this is my life now. Comparing the list of directory names with a list of agent IDs from a report, moving anything not in the report into an archive directory, by hand, one by one. Lather, rinse, repeat.

I got pretty good at using just the last three or four digits to keep place, but still. Three hours into a run and my eyes didn’t want to focus on ANYthing anymore.

There were three groups of numbers: The oldest eight-character GUIDs, the most-common 15-character GUIDs, and a batch of about 500 (of which only 27 were in use) 24-character GUIDs. I haven’t figured out when/why 24-character GUIDs were ever applied, though.