L'objectif de ce script est d'automatiser l'ajout de VLANs sur une liste de vSwitches et d'ESXi ciblés.
<#
. AUTEUR : Antoine JOVELIN
. FONCTION : Ajout de Vlans sur une liste d'ESXi
. UTILISATION :
- Créer un fichier .cvs contenant sur la première ligne "host,vswitch,name,ID"
- Remplire les lignes suivantes avec les informations correspondantes à celles de la première ligne séparées par une virgule ","
- Définir la variable $csvpath avec le chemin complet du fichier .csv
- Lancer le script
#>
cls
# Fonction de connexion à vCenter
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;
}
# Fonction de deconnexion à vCenter
function vcenter-disconnect{
Write-Host;
Write-Host -ForegroundColor cyan "Déconnexion de vCenter..."
Disconnect-viserver -Server $Global:DefaultVIServer -Confirm:$false -Force
Write-Host;
}
# Déclaration des variables
$csvpath = ""
# Script
Write-Host -fore Cyan "
#########################################################
# Ajout de VLANs sur une liste d'ESXi et vSwitch ciblés #
#########################################################"
Write-Host;
vcenter-connect
Write-Host;
if(Test-Path $csvpath){
$vlanlist = Import-Csv -Path $csvpath
Write-Host;
foreach ($vlan in $vlanlist) {
Write-Host;
Get-VMHost -name $vlan.host | Get-VirtualSwitch -name $vlan.vswitch | New-VirtualPortGroup -name $vlan.name -VLanId $vlan.ID
}
}else{
Write-Host -fore red "/!\ ERREUR : Le fichier .cvs n'existe pas /!\ "
}
Write-Host;
vcenter-disconnect