COMポートの検索っていろいろやり方があるみたい。
一番すんなりいった方法はこれ↓
'[%(COM%)]を探してねっというクエリを宣言する
Dim query1 As ManagementObjectSearcher = _
New ManagementObjectSearcher("Select * from Win32_PNPEntity" & _
" Where (Name like '%(COM%)')")
'探した結果を取得して保持する
Dim queryCollection1 As ManagementObjectCollection = query1.Get()
'取得数
Debug.WriteLine(queryCollection1.Count.ToString & "個見つかった")
'ManagementObject形変数宣言
Dim mo As ManagementObject
For Each mo In queryCollection1
Dim port_info As String = mo("Name").ToString
Debug.WriteLine(port_info) 'ポート名
Next