Server Fault is a question and answer site for system and network administrators. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

Before I dive into the question asking, let me give some background on the question.

I have a VM project I am working on. Sales reps at my company need to have VMs of different configurations to demo our software on. We don't want a VM server, but a VM library. A sales rep can go to the library, choose a pre-configured VM, instantly download it to their desktop and run it from there. The creation of these VMs is no problem as I can manually do it. The problem that I am facing is how do I manage said VMs?

We want a wide range of VM configurations, so it's not like I'll be managing 5 images. I'll be managing many more than that. The images will essentially be sitting on a file server in a powered off state after their initial creation. The images will need windows updates installed every once in a while along with some company files. I could manually go through and update all of them, but this would be a hassle. I'm sure windows update can be run without manual supervision on the VMs if they were powered on, but I am not sure how to do this. Ideally, it would be nice to have a program that I could run over the weekend that would go through each VM separately, power it on, run windows update, and then power that VM off. Is there any sort of software that could do this?

Please let me know if you need me to clarify anything as I am not sure if I am asking the right questions since I am still kind of unsure what sort of software I am asking for.

share|improve this question

closed as not constructive by Michael Hampton, mdpc, Scott Pack, Khaled, Brent Pabst Jan 29 '13 at 8:56

As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.If this question can be reworded to fit the rules in the help center, please edit the question.

"instantly" downloading to the desktop is tricky: VM's tend to be several GB in size, and it can take a while to transfer that amount of data. – Joel Coel Jan 28 '13 at 20:19
What virtualization platform are you using? That's the key to your answer. – Wesley Jan 28 '13 at 20:26
@JoelCoel, sorry about that. By instantly I mean it does not involve creation of the VM. I read of some software that could create a VM from a template. I am looking for it to have already been created. Sorry for the confusion there. – Jon Jan 28 '13 at 20:26
VirtualBox is not an option. You'll need either VMWare ESXi or Hyper-V. Could you have the machines running and then the sales reps remote into them? Granted if the machine demos are graphics-heavy this may not be an option. – tombull89 Jan 28 '13 at 20:30
It is possible to inject updates into an off-line Windows installation if you can mount the disk image somehow; the keyword to search for is "dism". The bulk of the actual installation process will happen during the first boot though, so depending on your needs it may be too slow. – Harry Johnston Jan 29 '13 at 0:00

You might be better off with something like vCloud Director and VMWare View. This will allow you to have centralized templates for each sales item and remotely access them with View. You'll only need to keep the templates up to date and linked clones are spawned on-demand for each sales demo and are then discarded after. This will eliminate the need to each sales person to download a full image to their laptop. They just self-provision a demo environment prior to the meeting and connect to it with View (or Remote Desktop).

You don't say what specific technology you're using, so this is a vSphere specific recommendation, but Hyper-V has a similar solution called Lab Management in SCVMM from what I understand.

To address your concern about "free" - you're going to have a hard time doing this for free. There's a huge benefit to virtualization, but unless you want to create your own tools, you're going to have to pony up some $$.

If you're a Microsoft SA customer that's entitled to MDOP, you could loook ad MED-V, which is basically a management layer on top of Virtual PC. It's a far cry from the capabilities of vCloud Director and View, and you'll probably have to to a lot of scripting and cobbling together, but it will let you deploy and manage custom packaged VMs to individual workstations.

share|improve this answer
While in theory this would be excellent and it is pretty much exactly what I would like, having the reps remote into the VMs is something we really want to avoid as we don't want to sink money into a server to support this. So, good answer, just not something that will work in my situation. – Jon Jan 28 '13 at 20:43
So you want something fast, reliable, and cheap? There's an old adage about that sort of thing... :-) – MDMarra Jan 28 '13 at 20:44
It looks like some scripting might have to be the answer here. And I agree with you, it is going to be kind of hard to get something that is fast, reliable, and cheap. – Jon Jan 28 '13 at 20:53
Seems like the cost to teach a sales rep (typically non-technical) as well as the on-going cost to assist with virtualization software questions would be about the same as buying a simple server which could do exactly what you are looking for here without a lot of the management overhead and cost. – Brent Pabst Jan 29 '13 at 8:56

Something like View or other remote-access would be easier to manage (and are the reps happy with the performance of running a guest on their machine?), but if you're dead-set on distributing these, then you could do this:

  1. Script something to either do WOL for the target VM guests, or using vCLI to power the hardware on at the desired times/intervals
  2. Have the machines in the domain and thus an OU to get all their updates from WSUS every day and automatically install or .... 2.a. Script automatic updates in the target guests with third-party software (no easy hooks for AU built into Windows, IME)
  3. Script something to get the company files in there as well.
  4. Script the power off, either from within the guest to call shutdown, or via vCLI to power the hardware down gracefully.
share|improve this answer

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