Thank you for the response. I think you got it perfectly right. I found similar script from VSphere forum ( Script need to deploy a VM from a template ) which does somewhat the same as per my requirement. But when i ran this script i got error message as below:
Deploying virtual machine from template surg649t ...
FaultCannot serialize identity as CustomizationIdentitySettings at /usr/lib/perl5/5.8.8/VMware/VICommon.pm line 2432
ComplexType::serialize('CustomizationSpec=HASH(0x1bb1cfd0)', 'customization', 'undef') called at /usr/lib/perl5/5.8.8/VMware/VICommon.pm line 2439
ComplexType::serialize('VirtualMachineCloneSpec=HASH(0x1b715060)', 'spec') called at (eval 30) line 111
VimService::get_arg_string('VirtualMachineCloneSpec=HASH(0x1b715060)', 'spec', 'VirtualMachineCloneSpec') called at (eval 30) line 132
VimService::build_arg_string('ARRAY(0x180063a0)', 'HASH(0x18006320)') called at (eval 30) line 2923
VimService::CloneVM_Task('VimService=HASH(0x18dd42f0)', '_this', 'ManagedObjectReference=HASH(0x18f86d20)', 'spec', 'VirtualMachineCloneSpec=HASH(0x1b715060)', 'name', 'surg649_new', 'folder', 'ManagedObjectReference=HASH(0x190a13b0)', ...) called at /usr/lib/perl5/5.8.8/VMware/VICommon.pm line 1693
ViewBase::invoke('VirtualMachine=HASH(0x18f26940)', 'CloneVM_Task', 'spec', 'VirtualMachineCloneSpec=HASH(0x1b715060)', 'name', 'surg649_new', 'folder', 'ManagedObjectReference=HASH(0x190a13b0)') called at (eval 39) line 201
VirtualMachineOperations::CloneVM_Task('VirtualMachine=HASH(0x18f26940)', 'spec', 'VirtualMachineCloneSpec=HASH(0x1b715060)', 'name', 'surg649_new', 'folder', 'ManagedObjectReference=HASH(0x190a13b0)') called at (eval 39) line 207
VirtualMachineOperations::CloneVM('VirtualMachine=HASH(0x18f26940)', 'folder', 'ManagedObjectReference=HASH(0x190a13b0)', 'name', 'surg649_new', 'spec', 'VirtualMachineCloneSpec=HASH(0x1b715060)') called at /opt/vmware-vsphere-cli-distrib/apps/vm/template2vm.pl line 263
eval {...} called at /opt/vmware-vsphere-cli-distrib/apps/vm/template2vm.pl line 262
main::deploy_template() called at /opt/vmware-vsphere-cli-
Don't know what is missing here.