L'objectif de ce script est d'automatiser le démarrage ou l'arrêt de plusieurs VM.
Pour cela nous utiliserons un fichier .csv contenant les informations nécessaires à la création ou suppression.
Pour utiliser ce script il sera impératif de :
Attention : le temps d'exécution du script va dépendre du nombre de VM à traiter.
Pour effectuer le démarrage ou l'arrêt de VMs, le script fonctionne en récupérant les informations depuis un fichier csv.
Ce fichier va comprendre plusieurs lignes :
Les informations devront obligatoirement être séparer par une virgule.
Dans cet exemple, une seule VM sera démarrée ou arrêtée, pour en cibler d'autres il suffira d'ajouter les informations des autres VMs sur les lignes suivantes.
VMName
nom_de_la_vm1
nom_de_la_vm2
nom_de_la_vm3
Exemple :
Le compte utilisateur doit être un compte ayant des privilèges administrateur sur vCenter.
Ne pas oublier de remplir la variable$csvpath
Le script à utiliser est le suivant :
<#
. AUTEUR : Antoine JOVELIN
. FONCTION : Démarrer ou arrêter une liste de VM
. UTILISATION :
- 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 -fore Cyan "
#######################################
# Démarrer ou arrêter une liste de VM #
#######################################"
Write-Host;
$ONOFF = Read-Host -Prompt " Faut-il demarrer ou arreter une VM : [start/stop] "
Write-Host;
do{
$csvpath = ""
$ONOFFVM = Import-Csv -Path $csvpath
if($ONOFF -eq "start"){
Write-Host " ### Demarrage des VM ### " -ForegroundColor green
Write-Host;
Start-VM $ONOFFVM.VMName -Confirm:$false
}elseif($ONOFF -eq "stop") {
Write-Host " ### Arrêt des VM ### " -ForegroundColor green
Write-Host;
Shutdown-VMGuest -VM $ONOFFVM.VMName -Confirm:$false
}
}while ( ($ONOFF -ne "start") -and ($ONOFF -ne "stop"))
Write-Host;
vcenter-disconnect