This is the script that I use when I need to add several new port groups to a single VMware cluster. The script does check for the port group before it tries to add it to the VMhost encase it was already setup.
$NetworkInfo = Import-CSV C:\scripts\logs\NetworkInfo.csv $ClusterName = "VM_Cluster" $VMHosts = Get-Cluster $ClusterName | Get-VMHost Foreach ($network in $NetworkInfo){ $NewPortSwitch = $network.NewPortSwitch $VLANID = $Network.VLANID Foreach ($VMHost in $VMHosts){ IF (($VMHost | Get-VirtualPortGroup -name $NewPortSwitch -ErrorAction SilentlyContinue) -eq $null){ Write-host "Creating $NewPortSwitch on VMhost $VMHost" -ForegroundColor Yellow $NEWPortGroup = $VMhost | Get-VirtualSwitch | Select -last 1 | New-VirtualPortGroup -Name $NewPortSwitch -VLanId $VLANID } } }
Below is the format for the NetworkInfo.csv. You can add as many port groups as you need in to this file and it gets feed into the script.
– Stuart