$BISresult = @() $PGs = Get-VirtualPortGroup -VirtualSwitch dvSwitch-PDC-Data ForEach ($PG in $PGs) { $obj = [PSCustomObject]@{ Name = $PG.Name; Count = ($PG | Get-VM).count } $BISresult += $obj } $MDNresult = @() $PGs = Get-VirtualPortGroup -VirtualSwitch dvSwitch-SDC-Data ForEach ($PG in $PGs) { $obj = [PSCustomObject]@{ Name = $PG.Name; Count = ($PG | Get-VM).count } $MDNresult += $obj } $result = @() $PGs = Get-VirtualPortGroup -VirtualSwitch dvSwitch-PDC-Data,dvSwitch-SDC-Data | Select -Unique Name ForEach($PG in $PGs){ $obj = [PSCustomObject]@{ Name = $PG.Name; VM_Count = (Get-VirtualPortGroup -Name $PG.Name | Get-VM).count } } $result = [System.Collections.ArrayList]@() $result2 = [System.Collections.ArrayList]@() $BisPGs = Get-VDPortGroup -VDSwitch dvSwitch-PDC-Data $MdnPGs = Get-VDPortGroup -VDSwitch dvSwitch-SDC-Data ForEach($PG in $BisPGs){ $obj = [PSCustomObject]@{ Name = $PG.Name; VM_Count = ($PG.ExtensionData.Vm.Count + ($MdnPGs | Where-Object Name -eq $PG.Name).ExtensionData.Vm.Count); } $null = $result2.Add($obj) }