jpols,
still can't get the reason for array.
Would be helpfull to see your script part.
Anyway, why don't you do something like (not really tested, just pulling out from my head):
code:

$i=0
$portkey = enumkey("HKEY_LOCAL_MACHINE\HARDWARE\DEVICEMAP\SCSI",$i)
while len($portkey)
$i2=0
$buskey = enumkey("HKEY_LOCAL_MACHINE\HARDWARE\DEVICEMAP\SCSI\$portkey",$i2)
while len($buskey)
$i3=0
$targetkey = enumkey("HKEY_LOCAL_MACHINE\HARDWARE\DEVICEMAP\SCSI\$portkey\$buskey",$i3)
while len($targetkey)
$i4=0
$unitkey = enumkey("HKEY_LOCAL_MACHINE\HARDWARE\DEVICEMAP\SCSI\$portkey\$buskey\$targetkey",$i4)
while len($unitkey)
$value = readvalue("HKEY_LOCAL_MACHINE\HARDWARE\DEVICEMAP\SCSI\$portkey\$buskey\$targetkey\$unitkey","DeviceName")
if len("$value") $value ? endif
$i4 = $i4+1
$unitkey = enumkey("HKEY_LOCAL_MACHINE\HARDWARE\DEVICEMAP\SCSI\$portkey\$buskey\$targetkey",$i4)
loop
$i3=$i3+1
$targetkey = enumkey("HKEY_LOCAL_MACHINE\HARDWARE\DEVICEMAP\SCSI\$portkey\$buskey",$i3)
loop
$i2=$i2+1
$buskey = enumkey("HKEY_LOCAL_MACHINE\HARDWARE\DEVICEMAP\SCSI\$portkey",$i2)
loop
$i=$i+1
$portkey = enumkey("HKEY_LOCAL_MACHINE\HARDWARE\DEVICEMAP\SCSI",$i)
loop

or have I misunderstood your question?

_________________________
!

download KiXnet