This modified WMIQuery (WMIQuery2) addresses your need.
code:
FUNCTION WMIQuery2($what,$from,optional $computer,optional $where, optional $x)
dim $strQuery, $objEnumerator, $value
if not $computer $computer="@WKSTA" endif
$strQuery = "Select $what From $from"
if $where and $x $strQuery = $strQuery + " Where $where = '$x'" endif
$SystemSet = GetObject("winmgmts:{impersonationLevel=impersonate}!//$computer")
if @error exit 1 return endif
$objEnumerator = $SystemSet.ExecQuery($strQuery)
For Each $objInstance in $objEnumerator
If @Error = 0 and $objInstance <> ""
$=execute("$$value = $$objInstance.$what")
Select
case VarType($value) = 8204
for each $x in $value
$WMIQuery2="$x"+"|"+"$WMIQuery2"
next
case VarType($value) = 8
$WMIQuery2="$value"+"|"+"$WMIQuery2"
case 1
$WMIQuery2 = "Unhandled data type returned: " + VarTypeName($value) +
"(" + VarType($value) + ")"
EndSelect
Endif
Next
$WMIQuery2=left($WMIQuery2,len($WMIQuery2)-1)
exit @error
ENDFUNCTION



[ 17. November 2002, 17:31: Message edited by: Howard Bullock ]
_________________________
Home page: http://www.kixhelp.com/hb/