I combined the code that Richard posted into 2 different UDFs. 1 for SN and 1 for Model. Not sure which would be better...Using WMI or EnumKey to get the correct display key. But I used WMI since it seems to work fine for me. What do you guys think?

Code:
Break ON

$=SetOption("Explicit","ON")
$=SetOption("WrapAtEOL","ON")
$=SetOption("ASCII","ON")

MonitorSN()
?
MonitorMod()

get $

FUNCTION MonitorSN(OPTIONAL $computer)
Dim $objWMIService,$colItems,$Item,$pnp,$sEDID,$ioffset,$sblock,$c,$s
If $computer = ""
$computer = "."
Endif
$objWMIService = GetObject("winmgmts:\\"+$computer+"\root\cimv2")
$colItems = $objWMIService.ExecQuery("Select * from Win32_DesktopMonitor",,48)
For Each $Item in $colItems
$pnp = $Item.PNPDeviceID
Next
$sEDID = ReadValue("HKLM\SYSTEM\CurrentControlSet\Enum\"+$pnp+"\Device Parameters","EDID")
For $iOffset=54 To 108 Step 18
$sBlock=SubStr($sEDID,$iOffset*2+1,18*2)
If Left($sBlock,8)="000000ff"
$s = SubStr($sBlock,9)
While $s
$c=Execute("Exit &"+Left($s,2))
If $c=10
Exit 0
EndIf
If $c
$MonitorSN=$MonitorSN+Chr($c)
EndIf
$s=SubStr($s,3)
Loop
EndIf
Next
ENDFUNCTION

FUNCTION MonitorMod(OPTIONAL $computer)
Dim $objWMIService,$colItems,$Item,$pnp,$sEDID,$ioffset,$sblock,$c,$s
If $computer = ""
$computer = "."
Endif
$objWMIService = GetObject("winmgmts:\\"+$computer+"\root\cimv2")
$colItems = $objWMIService.ExecQuery("Select * from Win32_DesktopMonitor",,48)
For Each $Item in $colItems
$pnp = $Item.PNPDeviceID
Next
$sEDID = ReadValue("HKLM\SYSTEM\CurrentControlSet\Enum\"+$pnp+"\Device Parameters","EDID")
For $iOffset=54 To 108 Step 18
$sBlock=SubStr($sEDID,$iOffset*2+1,18*2)
If Left($sBlock,8)="000000fc"
$s = SubStr($sBlock,9)
While $s
$c=Execute("Exit &"+Left($s,2))
If $c=10
Exit 0
EndIf
If $c
$MonitorMod=$MonitorMod+Chr($c)
EndIf
$s=SubStr($s,3)
Loop
EndIf
Next
ENDFUNCTION