Archive

Articles taggués ‘Déménagement’

Identifier et compter les VM démarrées

Ce weekend, je doit arrêter et redémarrer dans un délais relativement court une soixantaine de machines virtuelles.
Le système sur lequel je vais intervenir contient également des VMs qui sont déjà arrêtées et qui ne devront pas être redémarrées.
Pour ne pas oublier une VM lors de l’arrêt ou du démarrage, j’ai créer deux scripts.

Le premier va me permettre d’avoir une image des VMs qui sont démarrées.

?View Code POWERSHELL
$vm = Get-VM | Where-Object { $_.PowerState -eq "PoweredOn" }
$file = ".\VM-StopAndStart.txt"
$resfile = New-Item -ItemType file -Path $file -Force
Add-Content -Path $resfile -Value $vm

J’aurai ainsi dans un fichier la liste des VMs sur lesquelles je dois intervenir. Je le lancerai juste avant le début de l’opération.

Pendant les opérations d’arrêt et de redémarrage, j’utiliserai ce second script.

?View Code POWERSHELL
cls
$inv = Get-Content -Path .\VM-StopAndStart.txt"
$vms = Get-VM
$on = 0
$off = 0
Foreach ($vm in $vms) {
if ($vm.PowerState -eq "PoweredOn" -and $inv -match $vm.name){
Write-Host "$vm is PoweredOn" -ForegroundColor Green
$on++
}
Elseif ($vm.PowerState -eq "PoweredOff" -and $inv -match $vm.name){
Write-Host "$vm must be PoweredOn" -ForegroundColor Red
$off++
}
Elseif ($vm.PowerState -eq "PoweredOff" -and $inv -notmatch $vm.name){
Write-Host "$vm must stay PoweredOff" -ForegroundColor Gray
}
}
Write-Host "`nPoweredOn: $on - PoweredOff: $off`n" -ForegroundColor Magenta

J’aurai donc ainsi rapidement la liste des machines que je dois arrêter ou redémarrer et leur nombre.