Quantcast
Channel: Symantec Connect - Client Management Suite - Discussions
Viewing all articles
Browse latest Browse all 2021

Custom inventory USB devices

$
0
0
I need a solution

Hi all,
I'm trying to put together a custom inventory to report any USB devices,using VB script.
I'm not familiar with VB code and it's quite difficult to debug the script outsite Altiris server.
I hope you can help me to find the errors or suggest a better solution to achieve it, because it's not working. The report returns no value.

On Altiris console side, I already created my custom class (USB_devices) and each attribute.

Below the script. The first part "works" but I'm not sure about the second part.

Option Explicit
Dim oWMISrv, collDvcs, collUSBDvcs, iUSBDvc , iDvc, sDvcID, sPID, sVID

Function ReplaceX(ByVal sValue, ByVal sPattern, ByVal sNValue)
Dim oReg : Set oReg = New RegExp
    oReg.Pattern = sPattern
    ReplaceX = oReg.Replace(sValue, sNValue)
Set oReg = Nothing
End Function

Set oWMISrv = GetObject("winmgmts:\\.\root\cimv2")
Set collDvcs = oWMISrv.ExecQuery("Select * From Win32_USBControllerDevice")

For Each iDvc In collDvcs
If InStr(iDvc.Dependent, "VID_") Then ' Except keychain drives

        sDvcID = ReplaceX(iDvc.Dependent, ".*""(.*)""", "$1")
        sPID = ReplaceX(sDvcID, ".*PID_([^\\]*).*", "$1")
        sVID = ReplaceX(sDvcID, ".*VID_([^&]*).*", "$1")

Set collUSBDvcs = oWMISrv.ExecQuery _
        ("Select * From Win32_PnPEntity Where DeviceID = '" & sDvcID & "'")
For Each iUSBDvc in collUSBDvcs
            Wscript.Echo "Name : "& iUSBDvc.Name       
            Wscript.Echo "Description : "& iUSBDvc.Description
            Wscript.Echo "Manufacturer : "& iUSBDvc.Manufacturer
            Wscript.Echo "DeviceID : "& iUSBDvc.DeviceID
            Wscript.Echo "VID : "& sVID
            Wscript.Echo "PID : "& sPID
            Wscript.Echo String(10, "-")
Next
Set collUSBDvcs = Nothing

End If
Next

Set collDvcs = Nothing
Set oWMISrv = Nothing

'Create instance of Altiris NSE component
dim nse
set nse = WScript.CreateObject ("Altiris.AeXNSEvent")

' Set the header data of the NSE
' Please don't modify this GUID
nse.To = "{1592B913-72F3-4C36-91D2-D4EDA21D2F96}"
nse.Priority = 1

'Create Inventory data block. Here assumption is that the data class with below guid is already configured on server
dim objDCInstance
set objDCInstance = nse.AddDataClass ("USB_touch") '****Your Custom Data Class Name here

dim objDataClass
set objDataClass = nse.AddDataBlock (objDCInstance)

For Each iUSBDvc in collUSBDvcs

'Add a new row
dim objDataRow
set objDataRow = objDataClass.AddRow
'Set columns
objDataRow.SetField 0, iUSBDvc.Name
objDataRow.SetField 0, iUSBDvc.Description
objDataRow.SetField 0, iUSBDvc.Manufacturer
objDataRow.SetField 0, iUSBDvc.DeviceID
objDataRow.SetField 1, sVID
objDataRow.SetField 3, sPID
Next

nse.SendQueued

0

Viewing all articles
Browse latest Browse all 2021

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>