Voici une fonction pour faciliter les déplacement des templates.
function Deplacer-Template{ param( [string] $template, [string] $vmhost, [string] $datastore) if($template -eq ""){Write-Host "Nom du template"} if($vmhost -eq ""){Write-Host "Nom du serveur ESX"} if($vmhost -ne "" -and $datastore -eq ""){$vmotion = $true} if($datastore -ne ""){$svmotion = $true} Write-Host "Conversion de $template en VM" $vm = Set-Template -Template (Get-Template $template) -ToVM if($svmotion){ Write-Host "Migration de $template vers $vmhost et $datastore" Move-VM -VM (Get-VM $vm) -Destination (Get-VMHost $vmhost) ` -Datastore (Get-Datastore $datastore) -Confirm:$false (Get-VM $vm | Get-View).MarkAsTemplate() | Out-Null } if($vmotion){ Write-Host "Migration de $template vers $vmhost" Move-VM -VM $vm -Destination (Get-VMHost $vmhost) -Confirm:$false ($vm | Get-View).MarkAsTemplate() | Out-Null } }
Il est ensuite possible de lancer le déplacement avec la commande suivante:
Deplacer-Template « NomDuTemplate » « NomDuServeurESX » « NomDuDatastore »