L'objectif de ce script est d'afficher la liste intégrale des groupes de ports sur l'ensemble des vSwitch standards des ESXi d'un Cluster spécifique.
Le script affichera une liste complète, que ce soit le nom du cluster, le nom de l'ESXi, le nom du vSwitch et les groupes de ports qui lui sont affectés.
Voici le script qui sera utilisé afficher la liste.
Les différentes variables sont à remplir selon votre configuration.
Le compte utilisateur doit être un compte ayant des privilèges administrateur sur vCenter.
<#
. AUTEUR : Antoine JOVELIN
. FONCTION : Lister tous les groupes de ports et les VLANs ID sur tous les vSwitch Standards des ESXi d'un Cluster
. 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 "
#########################################################################################################
# Lister tous les groupes de ports et les VLANs ID sur tous les vSwitch Standards des ESXi d'un Cluster #
#########################################################################################################"
Write-Host;
$clustername = Read-Host -Prompt " Entrer le nom du Cluster "
$esxi = Get-cluster "$clustername" | Get-VMHost
$vswitchlist = Get-VMHost -name $VMhost | Get-VirtualSwitch
Write-Host;
Write-host "Traitement en cours du CLUSTER : " -NoNewline ; write-host $clustername -ForegroundColor Green
foreach ($VMHost in $esxi) {
Write-Host;
Write-host "Traitement en cours de l'ESXi : " -NoNewline ; write-host $VMHost -ForegroundColor Green
Write-Host;
foreach ($vswitchname in $vswitchlist) {
Write-Host;
Write-host "Traitement en cours du vSwitch : " -NoNewline ; write-host $vswitchname -ForegroundColor Yellow
Write-Host;
Get-VMHost -name $VMhost | Get-VirtualSwitch -name $vswitchname | get-VirtualPortGroup | select Name, vlanID
}
}
Write-Host;
vcenter-disconnect
Le résultat sera sous cette forme :