Is there a solution to create a virtual machine and start it by having an executable file, that will start the machine? If possible to start as quickly as possible. Strange situation? Not at all. Read on...
Real life scenario
Since we can't have domain controller on a non-server OS it would be nice to have domain controller in an as thin as possible machine (possibly Samba or similar because we'd like to make it startup as quickly as possible - in a matter of a few seconds) packed in a single executable. We could then configure our non-server OS to run the executable when it starts and before user logs in. This would make it possible to login into a domain.
Actual situation info
For some peculiar reasons I want to run non-server OS at all costs. It's a Windows 7 x64 Enterprise OS. It's a development machine not connected to any domain. It's a standalone machine. I need to set it up for Sharepoint Server 2010 development. So I'm installing Sharepoint. With some workarounds it's possible to make it work with local accounts but every account mangling has to be done manually which I don't like at all. So DC (or similar) becomes a must.
That is the main reason I'd like to have some sort of a domain controller with domain users defined, so I'd be able to run Sharepoint as close to production environment as possible. Virtualising DC seems like the best option and to make it as transparent as possible I wanted DC to initialise before I even logon to my Win7 dev machine. I'd logon using some domain user account then.
Virtualised DC needs to run all the time, because I will be developing/debugging my solution all the time, meaning I'll be authenticating users on Sharepoint level most of the time. So it's not just a one time startup and shutdown after my app runs.
I was also thinking of installing ESXi on baremetal and setting up two VMs. One Windows Server 2008 R2 Server Core with AD role (assigning it minimum RAM to run) and my actual development environment machine, but I haven't worked with ESXi before and I don't know whether my VM will run close to normal speed or not. My development VM must be fast just as if it was installed on baremetal HW (or close to it).
Another thing is that Sharepoint services start on OS boot. And they use domain users to run. That's why I'd like my DC VM to startup as soon as possible. ESXi could be my answer if my dev machine will run as expected.
BTW: I use VMWare Workstation 7 and not Server, because I do run some VM occasionally that need USB as well. Workstation works flawlesly in this regard. But I haven't checked if it's possible to start a VM with Workstation on OS boot...