Being back in a VMware environment, there are a few differences I need to remember from Hyper-V and System Center. It is not that one is better or worse than the other, but they are certainly different.
Customization Specifications are a great addition in vCenter to Cloning virtual machines. They allow you to name the VM, join domains, in short set the OOBE (Out of Box Experience) of Windows. They just make life easier.
The problem is, they do a lot of the same things as Microsoft’s deployment tools… but they do them differently. We have to remember that Microsoft owns the OS, so when you use the deployment tools from Microsoft, they inject a lot of the information into the OS for first boot. Customization Specifications work just like answer files… they require a boot-up (or two) to perform the scripts… and while those boots are interactive sessions, you should be careful about what you do in them. They will allow you to do all sorts of things, but then when they are ready they will perform the next step – a reboot.
I am not saying that you shouldn’t use Customization Specifications… I love the way they work, and will continue to use them. Just watch out for those little hiccoughs before you go 🙂