That rather sledgehammer with which you're smacking me around the room makes me want to say that $WMICOLL is not an array. So then I'd better build a KiX array based off the contents of $WMICOLL.

This hurts my brain.

Here's my new Code:
Dim $wmiColl,$wmiObj,$t,$v,$w,$x,$y,$z
$wmiColl=GetObject("WinMgmts:root/cimv2").ExecQuery("Select * FROM Win32_Process")
For Each $wmiObj in $wmiColl
$t=$t+1
Next
Dim $u[$t]
For Each $wmiObj in $wmiColl
$u[$x]=$wmiObj.Name
$x=$x+1
Next
;======code below this line provides debug output through the console
For Each $w in $u
? '$$u[' + $y + ']=' + $w
$y=$y + 1
Next
? 'Number of running processes=' + $t
$z=Ubound($u)
? 'Number of rows in $u=' + $z
Sleep 2


This works fine, although I seem to get an extra blank element at the end of the array...?

So did I jump through the right hoops, or too many hoops?
.