Automating all of the things — Software Updating Made Easy
Last week I published my first article on automation, you can check it out here: https://medium.com/@NehemiahAndrews/automating-all-of-the-things-a92361ab00a1. It was a simple start to a concept intended to get the ball rolling on some time saving improvements in my day-to-day life. A teaser, if you will. This week I’m going to dive into something a little more fun: software deployment and updating.
Doing sysadmin work, I’ve found some pretty handy tools over the years. Each solves a particular problem, some solve several. Today’s tool is one that just plain rocks. It’s called Ninite. If you do any kind of desktop support, deployment, or maintenance and aren’t already using some enterprise grade software management tools, check out their site and their product — you won’t be disappointed. There’s a paid version and a free version. Free works well enough, but the paid version unlocks a lot of really nice tools, so it’s totally worth it in my book.
Ninite basically provides a application installation client that lets you pick applications from a menu — Java, Adobe Reader, 7zip, Putty, the list goes on and on — downloads and installs them for you all while stripping out the useless junk like the Ask.com toolbar or whatever other genius PUP has been bundled with this software. That feature alone sold me on Ninite. Installing Java? No problem. Pick it from the menu, click install, and wait while Ninite does the job for you. Would you like some Awesome-sauce with that? Try some command line switches: https://ninite.com/help/features/switches.html.
That last bit is where the magic comes in. Use whatever task scheduling or scripting system that you’re comfortable with to run schedule the client with a few handy switches, such as “/updateonly” and “/silent app_status.log” and now you’re updating your already installed applications in the background and generating a log file that tells you what got patched and what didn’t. Run that through any sort of parsing engine and you can catch exceptions and throw alerts and intervene where it matters, instead of having to complete the ENTIRE PROCESS MANUALLY. That’s the sort of thing that helps a sysadmin, or anyone for that matter, really scale their efforts well.