Take the 2-minute tour ×
Server Fault is a question and answer site for professional system and network administrators. It's 100% free, no registration required.

I have a small set (currently 3, going to 6, not going to be more than 10) of (virtual, vmware workstation) Windows XP machines. They are similar but not exactly the same.

I'm currently rolling out Windows updates, etc., by hand: start machine 1, update, close, etc; I'd like to review the updates first before the clients can install them. Incidentally there are also other updates to be performed: changes some files on all machines, install new Java versions, etc.

What's a good way of doing this automatically? I tried to search for this but things like Active Directory seem overkill to me.

share|improve this question
    
Be careful with vmsprawl. Do you really need all those instances? It's very easy to end up in a situation where you have more vm's then you really need simply because it's so easy and cheap to set them up compared to physical hardware. –  pehrs Mar 29 '10 at 13:39
    
@pehrs - I use separate VMs to partition work between customers, so I have between 4 an 8 slightly different VMs on my laptop at any one time (limited by disk space) Carrying around 8+ laptops would kill my back :D The that VMs are easy to set up makes my job so much easier. –  Peter M Mar 29 '10 at 14:53
add comment

6 Answers

It seems from your question that the VMs are not always running (ie you manually start them). Is that so?

If they are always running, then then the functionality you want (auto updates, being able to review updates etc) would mean stepping into the big leagues (WSUS server etc) [note that I don've have any experience with this :-) ]

If they are not always running then I don't know how you can get around updating them without starting them. But still having a WSUS server would make downloading all the patches easier overall.

I have a similar problem as I have multiple XP VMs on my laptop for testing software with different customers. Whenever I start a new project I manually start my base VM, update it and then clone it for the latest customer test. Its a pain to do, but I can't see any other way around it.

share|improve this answer
    
They are indeed not always running - my machine wouldn't handle 4+ VMs running at the same time. In my case it looks even worse - there's no single VM I can update and clone, as they are all slightly different. –  Frank Meulenaar Mar 30 '10 at 8:21
add comment

Can you tell us what is your host OS?

I think WSUS would be a good solution for you. You can review the updates and approve the ones you need. Also as the VMs are not always On, You may want to configure a simple startup script to run the WSUS Update command.

share|improve this answer
add comment

You could run them on VMWare ESX/ESXi with vCenter and use vCenter Update Manager to get the updates and apply them to all your guest with a few clicks.

share|improve this answer
    
+1 for Vcenter. Quick and easy –  Dave M Mar 29 '10 at 13:45
    
Sorry -1 for VCenter - he's only got 3 VMs for Cliff's sake. –  Jon Mar 29 '10 at 13:59
    
The question was "What's a good way of doing this automatically?, he didn't append "...for free" did he yet VCUM is indeed a good way of doing this automatically, oh and it can deal with Java and certain other updates too. –  Chopper3 Mar 29 '10 at 16:06
1  
ESXi is probably not an option. He said he uses this on his laptop. ESXi does not give you access to the VM GUI from the console. Which would mean he'd have to carry around two laptops. –  PaulWaldman Mar 29 '10 at 17:52
1  
But don't go giving the guy the idea that there's something out there (VCUM) that will solve his problems and forget to say it'll set him back £thousands to get it. That's just mean :) –  Jon Mar 30 '10 at 9:56
add comment

Shavlik Netchk can patch Windows and other programs - it is $40 (usd) per patched system.

share|improve this answer
add comment

It sounds as though you want to be able to make lots of different changes to your virtual guests - whilst Update Manager will handle the patching/hotfix/update side of things, I don't think it will answer your queries around changing other system files/updating Java.

Not forgetting, whilst ESXi may be free, VCenter isn't and that definitely seems like overkill for your requirements.

If you're any good at vbscripting or powershell, I'd consider crafting something with them and automating as much of the process as you can.

share|improve this answer
    
He doesn't mention if he knows how to script, he might have to learn, and he only has 3 VMs! –  Chopper3 Mar 29 '10 at 16:07
    
Scripting is fine, but I thing I'm spending much time writing/debugging scripts which are then different for the next update, etc. –  Frank Meulenaar Mar 30 '10 at 8:22
add comment

If your host OS is capable of hosting active directory or a Samba domain then you'll get a netlogon directory which you can use to script things to happen on login to your XP machines. You can use batch scripts, powershell or anything else you can make Windows support. It's maybe not the best way of doing things on a large scale, but on a pretty small scale like this you could get away with it quite nicely.

As for what to run in those scripts, well it might be as simple as copying files or you could put the files you want synchronised in a Git or SVN repository. As for updates, provided you are being sensible and have the machines NATed then there's no reason to update them as soon as a patch comes out. You can simply allow Microsoft Update to do it's thing, likewise with Adobe Update and Java Update (though maybe you should be more proactive in keeping Adobe products up to date).

share|improve this answer
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.