Ok, did that, now working with 4.10.. But I still get no result. I'm now using:

code:
Break on

$Tag = WMIQuery("SerialNumber","Win32_BIOS")
If LEN($Tag) < 2
$Tag = WMIQuery("SMBIOSAssetTag","Win32_SystemEnclosure")
Endif

Cls
At (3,3) "Service Tag : $Tag"
Get $
Exit

FUNCTION WMIQuery($what,$where, optional $computer)
dim $strQuery, $objEnumerator, $value
if not $computer $computer="@WKSTA" endif
$strQuery = "Select $what From $where"
$SystemSet = GetObject("winmgmts:{impersonationLevel=impersonate}!//$computer")
$objEnumerator = $SystemSet.ExecQuery($strQuery)
For Each $objInstance in $objEnumerator
If @Error = 0 and $objInstance <> ""
$=execute("$$value = $$objInstance.$what")
$WMIQuery="$value"+"|"+"$WMIQuery"
EndIf
Next
$WMIQuery=left($WMIQuery,len($WMIQuery)-1)
exit @error
ENDFUNCTION

What am I doing wrong?
_________________________
Regards, Jeroen. There are two ways to write error-free programs. Only the third one works.