If my memory serves me well, your loop should be something like this
Dim searcher = new ManagementObjectSearcher("SELECT * FROM Win32_Environment")
Dim queryObj As ManagementObjectCollection = searcher.Get()
For Each mo in queryObj
Console.WriteLine("----------------")
For Each prop in mo.Properties
Console.WriteLine("{0}: {1}", prop.Name, prop.Value)
Next
Next