/dev/oops

fiddyspence's blog

Old Fashioned Config Management

I was having a rummage around some old code that I wrote in a previous life the other day, and encountered my old chum ‘wincheck’.  Most, if not all of you will not have heard of wincheck, but I like to think it was pretty groovy in two quite separate ways.

Way the first - it checked common definable misconfigurations and/or configuration items to validate whether they were right or not.  For example, it was marginally pluggable in that it referenced files containing data that referenced specific configuration instances (such as a Windows service, or a package) to validate whether it was installed/not installed or running/not running and more importantly whether that was the right thing to be doing.

Looking at the code, it did some other cool stuff too.  Mostly it was WMI driven, so you could run your check against the local machine or some other arbitrary host on the network, assuming you had rights to read the WMI instances on the node.  The report was human readable, it output some HTML in a handy browser tab so you could consume it - with a small amount of tweaking it could have collated those reports or run unattended and collected all sorts of useful information.

The way the second it was pretty groovy is a sad indictment of why people give up on tools or their development.  Wincheck was pretty rudimentary, though it could have (with more development effort) been really useful.  No doubt it might have evolved into a tool that as well as auditing and reporting could have remediated.  It might have ended up being rewritten in something better and more efficient than vbscript.

Sadly, wincheck serves, for me, as a reminder that even though something has already been invented, you don’t win prizes if people don’t either deign to acknowledge a tool’s existence, or aren’t aware of it.  In either of those two cases, when the organisation you are working for runs a clever ideas competition, the prize (it happened to be a laptop, if I recall correctly) for best cleverest idea (which happened to invent a configuration auditing tool) doesn’t go to one of the direct reports of the person giving the award, working on a project sponsored by that person.  Yeah - that still pisses me off.

Thus, for lack of interest, wincheck has been dormant in a tar file for 8 years, with the last commit dated 21st June 2004.  I might upload it to the github just for fun.