Posted in PowerCLI Script VMware

Somme de la mémoire et des disques utilisés

Somme de la mémoire et des disques utilisés Posted on 30/03/2017

Ce script vous permet de calculer la quantité de mémoire utilisée, et l’utilisation du disque par des VMs situer dans un dossier que vous aurez sélectionné. Vous pourrez choisir le dossier grâce au script qui vous liste l’ensemble de vos dossiers et sous dossier du vCenter.

#Script PowerCLI 6.5 Release 1 by Olivier Gosselin
#http://blog.purplescreen.fr/

$vCenterFQDN = "MyvCenterFQDN or IP"
 $UservCenter = "user"
 $PasswordvCenter ="Pass"

Connect-VIServer $vCenterFQDN -User $UservCenter -Password $PasswordvCenter

cls
 $ListFolder = Get-Folder -Type VM
 $CountListFolder = $ListFolder.count

Write-Host "Liste des dossiers :"
 #On génère le menu avec les dossiers présents dans l'infra.
 for ($i=0;$i -lt $CountListFolder;$i++) {
 Write-Host "$i-" $ListFolder.Name[$i] "`r"
 }
 do {
 $MaxWrite = $CountListFolder-1
 $IDFolder = Read-Host "Choisir votre Dossier a calculer ?[0-$MaxWrite] "
 $MyFolder = $ListFolder.Name[$IDFolder]
 } while (!$IDFolder)

#On filtre les VMs dans le dossier choisi plus haut.
 $FilterFolder = $ListFolder | where {$_.Name -eq $MyFolder} | get-vm | select Name,MemoryMB,UsedSpaceGB
 $CountTMemoryMB = $FilterFolder.count
 $NBVMinFilterFolder = $FilterFolder.count

#Si le nombre de VM est supérieur à 1.
 if ($NBVMinFilterFolder -ge '1') {
 for ($array=0;$array -lt $CountTMemoryMB;$array++) {
 $TotalMemoryMB = $FilterFolder.MemoryMB[$array]+$TotalMemoryMB
 $TotalUsedSpaceGB = $FilterFolder.UsedSpaceGB[$array]+$TotalUsedSpaceGB
 }
 $TotalMemoryGB = $TotalMemoryMB/1024
 Write-Host "TOTAL Memory "$TotalMemoryGB "GB in Folder " $MyFolder " with $NBVMinFilterFolder VMs"
 Write-Host "TOTAL Disk "$TotalUsedSpaceGB "GB in Folder " $MyFolder " with $NBVMinFilterFolder VMs"
 }

#Si le nombre de VM est inférieur à 1.
 else {
 $TotalUsedSpaceGB = $FilterFolder.UsedSpaceGB[$array]+$TotalUsedSpaceGB
 $TotalMemoryMB = $FilterFolder.MemoryMB
 $TotalMemoryGB = $TotalMemoryMB/1024
 Write-Host "TOTAL "$TotalMemoryGB "GB in Folder " $MyFolder " with 1 VM"
 Write-Host "TOTAL Disk "$TotalUsedSpaceGB "GB in Folder " $MyFolder " with 1 VM"
 }