Mordac85, I have been updating the DLL and have changed the way some methods return data. I no longer use the interleaved arrays. Instead I return an array of objects (dictionary objects in VBS) where you can specify which property value you want.

I have also implemented LsaLookupSids that can resolve sids from the perspective of a remote computer.
code:
$Win32Admin = createobject("Win32Admin")
if vartypename($Win32Admin) <> "Object"
? "@serror"
endif

$Version = $Win32Admin.Version
if @error <> 0
? "@serror"
endif
? "DLL Version = " + $Version
?
; Method LsaLookupSids($Server, $sids)
; Returns an array of dictionary objects
; One or more text sids can be input into the method. Separate sids with 'white
; space'.
; ComputerName must be NT4 or higher.
$sids = "S-1-5-21-24129212-1235812195-1543859470-1416 S-1-5-21-24129212-1235812195-1543859470-500"
$Info = $Win32Admin.LsaLookupSids ("computername", $sids)
if @error = 0
for each $item in $Info
$keys = $item.keys
? "keys: @error @serror"
for each $key in $keys
$Value = $item.get($key)
? $key + " = " + $Value
next
?
next
else
? "Error: @error @serror"
endif

yields:
quote:
DLL Version = 2.0.1.0

keys: 0 The operation completed successfully.
use = 1
domain = AMP
domainsid = S-1-5-21-24129212-1235812195-1543859470
name = userHAB

keys: 0 The operation completed successfully.
use = 1
domain = AMP
domainsid = S-1-5-21-24129212-1235812195-1543859470
name = administrator

If you are interested in doing some prelimary testing, send me an email and I will email you the DLL and some code. My ISP is having some problems at the moment and the web site is not useable.

[ 04. September 2003, 16:48: Message edited by: Howard Bullock ]
_________________________
Home page: http://www.kixhelp.com/hb/