Windows – Automate Windows update on multiple Virtual servers

updatevirtual-machineswindowswindows-server-2008

hope you guys can help. I work for a tech support company that manages servers for many clients in a virtual environment. We personally host about half the clients, while the others have onsite servers.

I am trying to find a good way to go about managing the windows update process for all the servers.That is one thing our company has been slacking on a bit since everything has to be done after hours. Each client will be on its own network. Servers range from Windows server 2003 to 2012.

I know there are ways to automatically download and install updates, and even ways to schedule a reboot, but there are a few things I need to worry about.

  1. We don't want these servers doing update related task during production hours
  2. We need to create a snapshot before running the updates in case something goes wrong and we have to revert.
    1. Servers have to be operational when the business opens.

I know VMware has an update manager, but that doesnt seem to update the OS, only the VM's. I have seen talk about WSUS, but I don't quite understand how that works yet, or how to include the snapshot requirement also.

So I am looking to see if anyone knows a good process that would create a VM snapshot, download and install updates, and then restart the server all after hours and automatically. If everything works, good, if not, revert back to snapshot.

Ideally, if we can somehow set it up to do installs in stages, or to prevent specific updates from being downloaded, that would also be good.

Best Answer

WSUS is definitely what you are looking for. It can do everything your looking for in terms of updates including requiring you to approve updates and allowing different update groups.

You'll need to look for a different solution for the imaging however products such as veeam or other backup solutions for virtual systems will usually be able to do this.

In my environment I would write a small powershell script that would do the following.

-Start a backup of the system with Veeam -Once that backup finishes check the time (Just to be sure)[Exit if too late] -Start running updates using WSUS, reboot system -Wait to see if system is back up, if its not up after x minutes have VMWare force the system down and have Veeam do a recovery of the previous backup.