L'objectif de ce script est de compter toutes les VMs associées a chacun des VLANs de tous les ESXi de tous les Clusters
<#
. AUTEUR : Antoine JOVELIN
. FONCTION : Compter toutes les VMs associees a chacun des VLANs de tous les ESXi de tous les Clusters
. 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;
Write-Host -fore cyan "
#############################################################################################
# Compter toutes les VMs associees a chacun des VLANs de tous les ESXi de tous les Clusters #
#############################################################################################"
Write-Host;
foreach($cluster in get-cluster){
Write-Host " Checking Cluster " $cluster -foreground green
foreach($esxi in $cluster | Get-VMHost){
Write-Host " Checking ESXi " $esxi -foreground yellow
foreach($vswitch in $esxi | Get-VirtualSwitch ){
Write-Host " Checking vswitch " $vswitch -foreground Cyan
foreach($VirtualPortGroup in $vswitch | get-VirtualPortGroup ){
Write-Host " Checking VirtualPortGroup " $VirtualPortGroup -foreground Gray
get-cluster -Name $cluster | Get-VMHost -Name $esxi | Get-VirtualPortGroup -Name $VirtualPortGroup | select @{N = "VMCount"; E = {($_ | get-vm).count}} | fl
}
}
}
}
Write-Host;
vcenter-disconnect