L'objectif de ce script est de lister la RAM et les CPU sur une liste d'ESXi
<#
. AUTEUR : Antoine JOVELIN
. FONCTION : Lister la RAM et les CPU d'une liste d'ESXi
. UTILISATION :
- Définir la liste des ESXi dans la variable $esxlist
- Les noms des ESXi doivent être séparés par 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 "
###############################################
# Lister la RAM et les CPU d'une liste d'ESXi #
###############################################"
Write-Host;
$esxlist = ""
[array]$esxlist = $esxlist -split ";"
foreach($esxi in $esxlist){
Get-VMHost -Name $esxi |
Select Name,
@{N='CPU GHz Capacity';E={[math]::Round($_.CpuTotalMhz/1000,2)}},
@{N='CPU GHz Used';E={[math]::Round($_.CpuUsageMhz/1000,2)}},
@{N='CPU GHz Free';E={[math]::Round(($_.CpuTotalMhz - $_.CpuUsageMhz)/1000,2)}},
@{N='Memory Capacity GB';E={[math]::Round($_.MemoryTotalGB,2)}},
@{N='Memory Used GB';E={[math]::Round($_.MemoryUsageGB,2)}},
@{N='Memory Free GB';E={[math]::Round(($_.MemoryTotalGB - $_.MemoryUsageGB),2)}},
@{N='Hyperthreading';E={Get-VMHost -Name $esxi | select -ExpandProperty HyperthreadingActive}}
}
Write-Host;
vcenter-disconnect