$VIserver = "nom_vcenter.local" asnp vmware* #Import modules VMWares $vc = Connect-VIServer -Server $VIserver -Force #On récupère tous les PortGroup ayant un vlan supérieur à 0 d'un ESXi $MesPortGroups = Get-VMHost | Where-Object {$_.Name -in ("nom_exact_esxi_source.local")} | Get-VirtualPortGroup | Where-Object {$_.VLanId -igt 0} | sort-object -property Name ForEach ($UnPortGroup in $MesPortGroups) { Write-Host "$($UnPortGroup.Name) $($UnPortGroup.VLanId)" #On les recrée sur un autre ESXi Get-VMHost | Where-Object {$_.Name -in ("nom_exact_esxi_cible.local")} | Get-VirtualSwitch -Name "vSwitch0" | New-VirtualPortGroup -Name "$($UnPortGroup.Name)" -VLanId $($UnPortGroup.VLanId) } #Get-VMHost | Where-Object {$_.Name -in ("nom_exact_esxi_cible.local")} | Get-VirtualPortGroup | Where-Object {$_.VLanId -igt 0} | sort-object -property Name #Get-VMHost | Where-Object {$_.Name -in ("nom_exact_esxi_source.local")} | Get-VirtualPortGroup | Where-Object {$_.VLanId -igt 0} | sort-object -property Name Disconnect-VIServer -Server * -Force -Confirm:$False