Queremos clonar de forma automática un número de máquinas, con un patrón concreto. Para ello, hemos usado de powershell:
- -Match
- -notmatch
La autentación contra vcenter está fuera del script. Debe hacerse antes de llamarlo.
Al no tener resource pools configurados, la nueva máquina, debe dejarse en el resourcepool “Resources”. Con get-resourcepool podemos consultar cuáles tenemos disponibles en nuestra arquitectura.
# Basado en http://vmwaremine.com/2013/05/28/powercli-clone-vm/
#
# Ester Niclos Ferreras
# Last updated: 29/2/14
# PRe: connect-viserver vc
#
# SourceVM:
#
$vmlist= get-vm pattern* | WHERE { $_.Name -notMatch “no_pattern” }
$datastore = Get-Datastore “my_datastore”
$folder = get-folder “my_folder” -Location “my_datacenter”
$respool = get-ResourcePool Resources -Location “manvmecluster”
foreach ( $sourceVM in $vmlist) {
$cloneName = $sourceVM.Name +’-clone’
#write-host $sourceVM $cloneName $datastore $folder
if (New-VM -Name $cloneName -ResourcePool $respool -VM $sourceVM -Location $folder -Datastore $datastore -DiskStorageFormat Thin )
{“DONE”}
else
{“Something wrong with cloning”}
}