$Switch23996 = Get-Content D:\VLAN-23996.txt $Switch23997 = Get-Content D:\VLAN-23997.txt $Switch23998 = Get-Content D:\VLAN-23998.txt $Switch23999 = Get-Content D:\VLAN-23999.txt $VC1PortGroups = Get-VirtualPortGroup -VirtualSwitch "dvSwitch-PDC-Data-Server" $VC2PortGroups = Get-VirtualPortGroup -VirtualSwitch "dvSwitch-SDC-Data-Server" $AllPortGroups = ($VC1PortGroups + $VC2PortGroups) | select -Unique Name | Sort-Object Name $AllVmNetworkAdapters = ((Get-VM | Where-Object { $_.ExtensionData.Summary.Config.ManagedBy.Type -ne "placeholderVm" }) | Get-NetworkAdapter) $Result = [System.Collections.ArrayList]@() ForEach ($PortGroup in $AllPortGroups) { $obj = $null $VlanInt = [int]$PortGroup.name.split('_')[1] $obj = [PSCustomObject]@{ 'VlanStr' = $PortGroup.name.split('_')[1]; 'CIDR' = $PortGroup.name.split('_')[2] + '/' + $PortGroup.Name.split('_')[3]; 'Description' = ($Switch23996 | Where-Object { $_ -like ("*v" + $VlanInt + "*") }).split(' ')[2]; 'vNic_Count' = ($AllVmNetworkAdapters | where-object NetworkName -like "*$CIDR*").count '23996-61' = ($Switch23996 | Where-Object { $_ -like ("*v" + $VlanInt + "*") }).split(' ')[5] -like "*61*" '23996-69' = ($Switch23996 | Where-Object { $_ -like ("*v" + $VlanInt + "*") }).split(' ')[5] -like "*69*" '23996-73' = ($Switch23996 | Where-Object { $_ -like ("*v" + $VlanInt + "*") }).split(' ')[5] -like "*73*" '23996-81' = ($Switch23996 | Where-Object { $_ -like ("*v" + $VlanInt + "*") }).split(' ')[5] -like "*81*" '23996-89' = ($Switch23996 | Where-Object { $_ -like ("*v" + $VlanInt + "*") }).split(' ')[5] -like "*89*" '23997-61' = ($Switch23997 | Where-Object { $_ -like ("*v" + $VlanInt + "*") }).split(' ')[5] -like "*61*" '23997-69' = ($Switch23997 | Where-Object { $_ -like ("*v" + $VlanInt + "*") }).split(' ')[5] -like "*69*" '23997-73' = ($Switch23997 | Where-Object { $_ -like ("*v" + $VlanInt + "*") }).split(' ')[5] -like "*73*" '23997-81' = ($Switch23997 | Where-Object { $_ -like ("*v" + $VlanInt + "*") }).split(' ')[5] -like "*81*" '23997-89' = ($Switch23997 | Where-Object { $_ -like ("*v" + $VlanInt + "*") }).split(' ')[5] -like "*89*" '23998-61' = ($Switch23998 | Where-Object { $_ -like ("*v" + $VlanInt + "*") }).split(' ')[5] -like "*61*" '23998-69' = ($Switch23998 | Where-Object { $_ -like ("*v" + $VlanInt + "*") }).split(' ')[5] -like "*69*" '23998-81' = ($Switch23998 | Where-Object { $_ -like ("*v" + $VlanInt + "*") }).split(' ')[5] -like "*81*" '23998-89' = ($Switch23998 | Where-Object { $_ -like ("*v" + $VlanInt + "*") }).split(' ')[5] -like "*89*" '23999-61' = ($Switch23999 | Where-Object { $_ -like ("*v" + $VlanInt + "*") }).split(' ')[5] -like "*61*" '23999-69' = ($Switch23999 | Where-Object { $_ -like ("*v" + $VlanInt + "*") }).split(' ')[5] -like "*69*" '23999-81' = ($Switch23999 | Where-Object { $_ -like ("*v" + $VlanInt + "*") }).split(' ')[5] -like "*81*" '23999-89' = ($Switch23999 | Where-Object { $_ -like ("*v" + $VlanInt + "*") }).split(' ')[5] -like "*89*" } #Write-Output $obj $null = $Result.Add($obj) }