Monitor VESA Manufacturer ID

(imported topic written by 7MRT_Yves_Cardinal)

Hi, I’m trying to get the Monitor VESA Manufacturer ID, I’m able to get the Manufacture Date, Serial Number and Model Name using this code: https://www.ibm.com/developerworks/community/forums/html/topic?id=77777777-0000-0000-0000-000014937828

and after seeing this VBScript http://www.symantec.com/connect/forums/custom-inventory I noticed that it’s possible to also get the Manufacturer ID and Device ID from the registry as well. I was able to get the Device ID with this:

'the device id is 2bytes starting at EDID offset &H0a

'the bytes are in reverse order.

'this code is not text. it is just a 2 byte code assigned

Q:if (exists key “HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\DISPLAY” of registry) then (((string(first 2 of following text of position 22 of (value “EDID” of key “Device Parameters” of it as string) ))& (string(first 2 of following text of position 20 of (value “EDID” of key “Device Parameters” of it as string) ))) of keys whose ((exists key “Control” of it) and (exists key “Device Parameters” of it) and (exists value “EDID” of key “Device Parameters” of it)) of keys whose (name of it does not contain “Default_Monitor”) of key “HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\DISPLAY” of registry as string) else (“n/a”)

A: 04d4

A: 04d4

A: 04d4

T: 0.310 ms

But I can’t figure out how to get the Manufacturer ID…

'the mfg id is 2 bytes starting at EDID offset &H08

'the id is three characters long. using 5 bits to represent

'each character. the bits are used so that 1=A 2=B etc…

So far I have this:

Q:(bit 0 of it and not bit 1 of it and not bit 2 of it and not bit 3 of it and not bit 4 of it and bit 5 of it and not bit 6 of it and not bit 7 of it and not bit 8 of it and not bit 9 of it and bit 10 of it and not bit 11 of it and not bit 12 of it and not bit 13 of it and not bit 14 of it) of (hexadecimal integer(first 4 of following text of position 16 of (value “EDID” of key “Device Parameters” of it as string) )) of keys whose ((exists key “Control” of it) and (exists key “Device Parameters” of it) and (exists value “EDID” of key “Device Parameters” of it)) of keys whose (name of it does not contain “Default_Monitor”) of key “HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\DISPLAY” of registry as string

A: False

A: False

A: False

T: 0.302 ms

If the Manufacturer ID is “AAA” then it would return true. Using this logic would create a very long relevancy… What am I missing? Is it possible to perform a bitwise AND operation with the relevancy language similar to how they do it in the VBScript linked to above?

Another possibility would be grab the Manufacturer ID from the the 3 first characters from the subkey of the “HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\DISPLAY” key, but I can’t seem to just get the active ones…

q:(names of keys whose ((exists key “Control” of it) and (exists key “Device Parameters” of it) and (exists value “EDID” of key “Device Parameters” of it)) of keys whose (name of it does not contain “Default_Monitor”) of it, names of keys of it) of key “HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\DISPLAY” of registry

A: 4&1117d43&0&80861301&00&02, Default_Monitor

A: 4&1117d43&0&80861301&00&02, PHL085A

A: 4&1117d43&0&80861301&00&02, SAM04D3

A: 4&1117d43&0&80861301&00&02, SAM04D4

A: 4&1117d43&0&80861302&00&02, Default_Monitor

A: 4&1117d43&0&80861302&00&02, PHL085A

A: 4&1117d43&0&80861302&00&02, SAM04D3

A: 4&1117d43&0&80861302&00&02, SAM04D4

A: 4&1117d43&0&80861500&00&02, Default_Monitor

A: 4&1117d43&0&80861500&00&02, PHL085A

A: 4&1117d43&0&80861500&00&02, SAM04D3

A: 4&1117d43&0&80861500&00&02, SAM04D4

T: 0.316 ms

Could also use the parent key of command (http://support.bigfix.com/inspectors/Registry%20Objects_Any.html) on the relevance below, but it’s only available in version 9 and we are still on version 8.2

q:names of keys whose ((exists key “Control” of it) and (exists key “Device Parameters” of it) and (exists value “EDID” of key “Device Parameters” of it)) of keys whose (name of it does not contain “Default_Monitor”) of key “HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\DISPLAY” of registry

A: 4&1117d43&0&80861301&00&02

A: 4&1117d43&0&80861302&00&02

A: 4&1117d43&0&80861500&00&02

T: 0.242 ms

Any help is appreciated, thanks!