Open-AudIT https://www.open-audit.org/phpBB3/ |
|
OA 1.5.2: VB script Error https://www.open-audit.org/phpBB3/viewtopic.php?f=20&t=6398 |
Page 1 of 1 |
Author: | spichelman [ Tue Jan 20, 2015 2:42 am ] |
Post subject: | OA 1.5.2: VB script Error |
Hi- Trying to audit a newer type laptop - Dell - failing on monitor or sound card info? Tried debugging at cmd-line to file - not getting to point of creating debug file - sorry for verbose output here. C:\>cscript //nologo C:\xampplite\open-audit\other\audit_windows.vbs strcomputer=computer submit_online=n echo_output=y create_file=y debugging=3 ping_target=y starting audit - computer Argurments ------------------- create_file: y debugging: 3 ldap: org_id: ping_target: y run_netstat: s self_delete: n skip_printer: n skip_software: n skip_dns: n skip_mount_point: n strcomputer: computer struser: strpass: submit_online: n system_id: url: http://localhost/index.php/system/add_system use_proxy: n windows_user_work_1: physicalDeliveryOfficeName windows_user_work_2: company details_to_lower: y hide_audit_window: n ------------------- LocalNet: 192.168.1.51 MDNAM Target: computer No Match: Auditing remote host. PC computer responding to ping My PID is : 692 Audit Start Time : 2015-01-19 10:36:29 Audit Location: remote ------------------- system info windows info FullAD: OU=Users,OU=xxxxx,OU=xxxxxx,DC=xxxxxx,DC=local Attribute: physicalDeliveryOfficeName SAM: xxxxxx select name, physicalDeliveryOfficeName from 'GC://OU=Users,OU=xxxxxx,OU=xxxxxx,DC=xxxxx,DC=local' where objectCategory = 'person' and sAMAccountName = 'xxxxx' User data for physicalDeliveryOfficeName is: xxxxxx Windows User: xxxxx@xxxxx (xxxxxxx) bios info scsi info processor info memory info motherboard info optical info modem info video info monitor info C:\xampplite\open-audit\other\audit_windows.vbs(1688, 4) Microsoft VBScript runtime error: Object not a collection Researched this error and am not able to figure out if this has to do with VB and WMI and not recognizing sound card or Monitor info - HW driver? Appreciate any help - thx. -SP |
Author: | jpa [ Tue Jan 20, 2015 3:18 am ] |
Post subject: | Re: OA 1.5.2: VB script Error |
What's on line 1688 in your audit_windows.vbs file? |
Author: | spichelman [ Tue Jan 20, 2015 3:48 am ] |
Post subject: | Re: OA 1.5.2: VB script Error |
Hi Jpa- 1. Yes - here it is... "for each sKey2 In arSubKeys2" 2. This comes after the code... if debugging > "0" then wscript.echo "monitor info" end if ' note we exclude "monitors" that are plug'n'play types and have no real info item = "" dim strarrRawEDID(10) dim temp_model(10) dim temp_manuf(10) intMonitorCount=0 sBaseKey = "SYSTEM\CurrentControlSet\Enum\DISPLAY\" iRC = oReg.EnumKey(HKEY_LOCAL_MACHINE, sBaseKey, arSubKeys) item = "" all_device_serial = "" if isnull(arSubKeys) then ' do nothing if debugging > "1" then wscript.echo "Nothing in arSubKeys" end if else... |
Author: | spichelman [ Tue Jan 20, 2015 3:52 am ] | ||
Post subject: | Re: OA 1.5.2: VB script Error | ||
I added On error Resume Next in VB code and then got these mesg's in next scan: sound info Unspecified wbem error: 451 (Win32_SoundDevice) disk info Unspecified wbem error: 451 (Win32_DiskDrive) See attached debug - thx. -SP
|
Author: | jpa [ Tue Jan 20, 2015 7:44 am ] |
Post subject: | Re: OA 1.5.2: VB script Error |
It looks like the code should be checking the iRC2 return code for success. If arSubKeys2 is not a collection then bad things happen. Hopefully Mark will notice this thread and a check in the next version. Something like this (untested) if statement addition: [code] sBaseKey2 = sBaseKey & sKey & "\" iRC2 = oReg.EnumKey(HKEY_LOCAL_MACHINE, sBaseKey2, arSubKeys2) if iRC2 = 0 then for each sKey2 In arSubKeys2 oReg.GetMultiStringValue HKEY_LOCAL_MACHINE, sBaseKey2 & sKey2 & "\", "HardwareID", sValue for tmpctr=0 to ubound(svalue) if lcase (left(svalue(tmpctr),8))="monitor\" then sBaseKey3 = sBaseKey2 & sKey2 & "\" iRC3 = oReg.EnumKey(HKEY_LOCAL_MACHINE, sBaseKey3, arSubKeys3) for each sKey3 In arSubKeys3 if skey3="Control" then strRawEDID = "" oReg.GetStringValue HKEY_LOCAL_MACHINE, sbasekey3, "DeviceDesc", temp_model(intMonitorCount) oReg.GetStringValue HKEY_LOCAL_MACHINE, sbasekey3, "Mfg", temp_manuf(intMonitorCount) oReg.GetBinaryValue HKEY_LOCAL_MACHINE, sbasekey3 & "Device Parameters\", "EDID", arrintEDID if VarType(arrintedid) <> 8204 then strRawEDID="EDID Not Available" else for each bytevalue in arrintedid strRawEDID=strRawEDID & chr(bytevalue) next end if 'redim Preserve strarrRawEDID(intMonitorCount) strarrRawEDID(intMonitorCount)=strRawEDID intMonitorCount=intMonitorCount+1 end if next end if next next end if[/code] Should be slightly less nuclear an option than the Resume Next presuming it works. Not sure on the next errors you found. Did you put an On error Resume 0 after the monitor stuff to turn error checking back on? |
Author: | spichelman [ Wed Jan 21, 2015 1:03 am ] |
Post subject: | Re: OA 1.5.2: VB script Error |
Thanks JPA. Appreciate the code and will test and let you know. No - I did not add "On error Resume 0" after monitor code - I will test. Again - grateful for your quick responses and help. -SP |
Author: | spichelman [ Wed Jan 21, 2015 5:52 am ] |
Post subject: | Re: OA 1.5.2: VB script Error |
Hi JPA- 1. I tried adding code you suggested - still the same error. monitor info C:\xampplite\open-audit\other\audit_windows.vbs(1689, 13) Microsoft VBScript runtime error: Object not a collection" [code] if iRC2 = 0 then for each sKey2 In arSubKeys2 oReg.GetMultiStringValue HKEY_LOCAL_MACHINE, sBaseKey2 & sKey2 & "\", "HardwareID", sValue for tmpctr=0 to ubound(svalue) if lcase (left(svalue(tmpctr),8))="monitor\" then sBaseKey3 = sBaseKey2 & sKey2 & "\" iRC3 = oReg.EnumKey(HKEY_LOCAL_MACHINE, sBaseKey3, arSubKeys3) for each sKey3 In arSubKeys3 if skey3="Control" then strRawEDID = "" oReg.GetStringValue HKEY_LOCAL_MACHINE, sbasekey3, "DeviceDesc", temp_model(intMonitorCount) oReg.GetStringValue HKEY_LOCAL_MACHINE, sbasekey3, "Mfg", temp_manuf(intMonitorCount) oReg.GetBinaryValue HKEY_LOCAL_MACHINE, sbasekey3 & "Device Parameters\", "EDID", arrintEDID if VarType(arrintedid) <> 8204 then strRawEDID="EDID Not Available" else for each bytevalue in arrintedid strRawEDID=strRawEDID & chr(bytevalue) next end if 'redim Preserve strarrRawEDID(intMonitorCount) strarrRawEDID(intMonitorCount)=strRawEDID intMonitorCount=intMonitorCount+1 end if next end if next next end if [/code] 2. Yes - added "On error Resume 0" now for error checking to be enabled after that bit of code. And keeping this code - so we can get thru audit with certain machines that error out with current code.... [code] for each sKey In arSubKeys if sKey > "" then ' note - using the above because the key SYSTEM\CurrentControlSet\Enum\DISPLAY\Default_Monitor is not returning any value for some reason? sBaseKey2 = sBaseKey & sKey & "\" iRC2 = oReg.EnumKey(HKEY_LOCAL_MACHINE, sBaseKey2, arSubKeys2) for each sKey2 In arSubKeys2 On error Resume Next oReg.GetMultiStringValue HKEY_LOCAL_MACHINE, sBaseKey2 & sKey2 & "\", "HardwareID", sValue for tmpctr=0 to ubound(svalue) if lcase (left(svalue(tmpctr),8))="monitor\" then sBaseKey3 = sBaseKey2 & sKey2 & "\" iRC3 = oReg.EnumKey(HKEY_LOCAL_MACHINE, sBaseKey3, arSubKeys3) for each sKey3 In arSubKeys3 if skey3="Control" then strRawEDID = "" oReg.GetStringValue HKEY_LOCAL_MACHINE, sbasekey3, "DeviceDesc", temp_model(intMonitorCount) oReg.GetStringValue HKEY_LOCAL_MACHINE, sbasekey3, "Mfg", temp_manuf(intMonitorCount) oReg.GetBinaryValue HKEY_LOCAL_MACHINE, sbasekey3 & "Device Parameters\", "EDID", arrintEDID if VarType(arrintedid) <> 8204 then strRawEDID="EDID Not Available" else for each bytevalue in arrintedid strRawEDID=strRawEDID & chr(bytevalue) next end if 'redim Preserve strarrRawEDID(intMonitorCount) strarrRawEDID(intMonitorCount)=strRawEDID intMonitorCount=intMonitorCount+1 end if next end if next next end if next On error Resume 0 [/code] 3. Would like to know if this is a software/driver issue? Perhaps in Dev Mgr - the device(s) have Yellow Exclamation points or are using incorrect/mis-configured driver/software for machine - we'll check further. Any other thoughts from you or Mark? Thx. -SP |
Author: | jpa [ Wed Jan 21, 2015 8:39 am ] |
Post subject: | Re: OA 1.5.2: VB script Error |
For whatever reason enumkey isn't returning a valid collection in arSubKeys2. Without access to your machine it's hard to debug. Maybe a dump of your HKLM\SYSTEM\CurrentControlSet\Enum\DISPLAY\ registry would help. It's probably just easiest to blow over the error as you've done. |
Page 1 of 1 | All times are UTC + 10 hours |
Powered by phpBB® Forum Software © phpBB Group https://www.phpbb.com/ |