Below is a script to copy vswitch information from a source ESX server to a destination ESX server.
All vswitch, network and vlan information will be copied.
# Define Variables $VCServer = "vc-server" $cred = Get-Credential # Connect server $VC = Connect-VIServer -Server "$VCServer" #$VISRV = Connect-VIServer (Read-Host "Please enter the name of your VI SERVER") $BASEHost = Get-VMHost -Name (Read-Host "Please enter the name of your existing server as seen in the VI Client:") $NEWHost = Get-VMHost -Name (Read-Host "Please enter the name of the server to configure as seen in the VI Client:") $BASEHost |Get-VirtualSwitch |Foreach { If (($NEWHost |Get-VirtualSwitch -Name $_.Name-ErrorAction SilentlyContinue)-eq $null){ Write-Host "Creating Virtual Switch $($_.Name)" $NewSwitch = $NEWHost |New-VirtualSwitch -Name $_.Name-NumPorts $_.NumPorts-Mtu $_.Mtu $vSwitch = $_ } $_ |Get-VirtualPortGroup |Foreach { If (($NEWHost |Get-VirtualPortGroup -Name $_.Name-ErrorAction SilentlyContinue)-eq $null){ Write-Host "Creating Portgroup $($_.Name)" $NewPortGroup = $NEWHost |Get-VirtualSwitch -Name $vSwitch |New-VirtualPortGroup -Name $_.Name-VLanId $_.VLanID } } }