To create a VM from a XML file , first we have to create a xml file with the settings for the VM. I created a very basic on that only specifies the name and size of the vDisk.
<CreateVM>
<VM>
<Name>MyVM1</Name>
<HDDCapacity>1</HDDCapacity>
</VM>
<VM>
<Name>MyVM2</Name>
<HDDCapacity>1</HDDCapacity>
</VM>
</CreateVM>
Lets first read the Content of XML file using :
PowerCLI C:\>[xml]$s = Get-Content c:\avn\myvm.xml
Create the virtual machines. using below power cli simple single line script:
PowerCLI C:\> $s.CreateVM.VM | foreach { New-VM -VMHost esxcomp-01a.corp.local -Name $_.Name -DiskMB $_.HDDCapacity}
Here is the Result of successful creation of VMs…
You can expand the xml file to include a host, disk types,CPU,memory and other settings……