$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)
}