Para agilizar las clonaciones de listas de máquinas, es necesario usar un powercli, que, además, elija como destino el datastore que tenga mayor espacio disponible.
![VMWare ESXi](http://www.tecnocracia.es/wp-content/uploads/2008/08/vmwareesx3i.png)
Para ordenar los resultados de datastore en función del espacio disponible:
$datastorelist = Get-Datastore -Location $DatastoreCluster | sort -descending FreeSpaceMB
En nuestro caso, tenemos los datastore configurados como un datastorecluster, pero,en el caso de no tener, podríamos usar como Location directamente el nombre del cluster o del datacenter donde queremos seleccionar el datastore.
El script completo, está disponible en github.
foreach ($clonename in $new_vm) { #Select datastore with more space: # $datastorelist = Get-Datastore -Location $Datacenter | sort -descending FreeSpaceMB # Use in case there are datastore clusters $datastorelist = Get-Datastore -Location $DatastoreCluster | sort -descending FreeSpaceMB $datastore = $datastorelist[0].Name "Clone $clonename in $datastore" if (New-VM -Name $clonename -ResourcePool $respool -VM $sourceVM -Location $folder -Datastore $datastore -DiskStorageFormat Thick ) {"DONE $clonename"} else {"Something wrong with cloning"} }