Believe it or not there are many features of VMWare I do not get to use every day, however one that I have been neglecting other than to pass a VCP exam I had and be familiar with it was the Customization Specification Manager… I have been missing out. This weekend I had some extra time and wanted to see how powerful this tool is and put it to good use against one my Windows Server 2012 R2 template I just finished building, let’s just say this made life really easy. The Customization Specification Manager can be found under the home menu show below.
Once there, you can see there are two options under your vCenter server, one to create a new one, and one to import one you have exported.
When you click on the new, it opens up a menu, it looks grueling with 10 more areas where you have to set parameters, but it’s not bad at all. It all starts with Specify Properties, it gives you the options of Windows and Linux. For the sake of this article I am trying this on a Windows VM, I may do an example on a Linux VM at a later date. The customization spec name is the one you will see when you go through and provision a virtual machine with it, the description I usually set to have some notes, the date I created it on, any changes made, etc.
The next step is filling in the registration information, such as the name and organization.
This next part is really cool and comes into play later on. The computer name gives you the option of setting a computer name where it appends a numeric value at the end, the virtual machine name, amongst a few others. I use the virtual machine name as I use this to automatically join it to the domain later on with the same name shown in the Inventory.
If you have a product key you can put it in here, depending on if you have a KMS setup running this step may vary.
In the Set Administrator Password you can define what you want the admin password to be and even configure it to automatically login “n” number of times.
Time Zone helps you set the time zone you want the server in, in my case I set it to GMT -08.
Run Once enables you to send commands to the VM that you want it to run one time when the user first logs in. I had nothing for this demo, but you could do stuff with power management for example.
Configure Network is another place where you can do some cool stuff, if DHCP takes care of everything the first option is there. Alternatively you can leverage the manually select custom settings if you want to set it to use specific DNS for example, you can set IPv4, IPv6, and WINS items as well.
Set Workgroup or Domain is another very cool feature where it can automatically join the virtual machine to the domain. It requires an account that has the right to join the computer to the domain and the domain name.
Set Operating System Options is where you can set the VM to generate a new SID as needed.
Once you set up all of the above you are ready to save and try out your customization specifications. Click Next, make sure everything looks good, and click Finish.
To give this a try, locate your template and deploy a new virtual machine from this template. Give it a name as you normally would.
As applicable select a compute resource.
Select the storage resource.
Now for the important part, under Select Clone Options, ensure you check Customize the operating system, and Power on virtual machine after creation.
Under Customize guest OS, select the customization specification you created, in our case it is Demo.
Click next, and if all looks well, click Finish. It will take some time, but once its done, your template should deploy and join to the domain, have the right IP configurations, and life should be a bit easier.