L'objectif de ce script est d'effectuer une migration à froid d'une liste de VMs
<#
. AUTEUR : Antoine JOVELIN
. FONCTION : Migration a froid d'une liste de VMs
. ATTENTION : Les VMs seront eteintes, migrees puis rallumees
. UTILISATION :
- Definir la liste des VMs a migrer dans la variable $vmlist
- Le nom des VMs doit etre separa d'un point virgule ";"
- Lancer le script
#>
cls
# Declaration des fonctions
function vcenter-connect{
$VC = Read-Host -Prompt " Entrer le nom de vCenter "
$cred = Get-Credential
Write-Host;
Write-Host -ForegroundColor cyan "Connexion à vCenter. Merci de patienter..."
Connect-VIServer $VC -Credential $cred
Write-Host;
}
function vcenter-disconnect{
Write-Host;
Write-Host -ForegroundColor cyan "Déconnexion de vCenter..."
Disconnect-viserver -Server $Global:DefaultVIServer -Confirm:$false -Force
Write-Host;
}
# Debut du script
vcenter-connect
Write-Host;
Write-Host -fore cyan "
########################################
# Migration a froid d'une liste de VMs #
########################################"
$vmlist = ""
[array]$vmlist = $vmlist -split ";"
$esxi = Read-Host -Prompt " Entrer le nom complet de l'ESXi qui accueillera les VMs "
foreach($vm in $vmlist){
Shutdown-VMGuest -VM $vm -Confirm:$false
Write-Host;
}
Write-Host;
sleep 120
foreach($vm in $vmlist){
Move-VM $vm -Destination $esxi -Confirm:$false -RunAsync
Write-Host;
}
Write-Host;
sleep 30
foreach($vm in $vmlist){
Start-VM $vm -Confirm:$false -RunAsync
Write-Host;
}
Write-Host;
vcenter-disconnect