Is it possible for VBScript to check whether a specific device is in Device Manager?

1

In my Device Manager, there is "Realtek USB FE Family Controller". After the computer wakes up from sleep mode, sometimes the controller cannot be recognised, and "TK_NIC_DRIVER_INSTALLER.sfx.exe" needs to be run so as to get it recognised.

Is it possible for VBScript to check whether the controller is there? If it is not there, the following command will be run.

CreateObject("wscript.shell").run("""C:\RTK_NIC_DRIVER_INSTALLER.sfx.exe"""),0

Matthew Wai

Posted 2018-02-21T11:36:53.767

Reputation: 481

1Why do you need to use VBScript, a technology from the mid-1990s to do this. Why not use PowerShell and the Get-PnpDevice cmdlet? – Peter Hahndorf – 2018-02-21T15:33:26.740

I want VBScript because it will not bring up a command window, and I don't know how to use PowerShell. – Matthew Wai – 2018-02-21T15:45:03.707

It seems like (at least in theory) that this should be possible. Googling didn't reveal any direct way to query items in the device manager (though there could be) but it does seem you can get a list of items with VBScript (so you could potentially compare names/info and see whether a device was listed or not). The basic approaches seemed to either use the WMI interfaces for VBScript directly to get items or to parse the output of msinfo32.exe. – Anaksunaman – 2018-02-24T12:40:17.070

Answers

1

You can use the win32_PnPEntity WMI class. Here we're just iterating through and checking for devices that have that description:

strComputer = "." 
Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\CIMV2")
Set colItems = objWMIService.ExecQuery("SELECT * FROM Win32_PnPEntity")
For Each objItem In colItems
    If InStr(1, objItem.Description, "Realtek USB FE Family Controller", 1) > 0 Then
        CreateObject("wscript.shell").run("""C:\RTK_NIC_DRIVER_INSTALLER.sfx.exe"""),0
    End If
Next

If that doesn't work you may also need to test for objItem.Present or objItem.Status

shawn

Posted 2018-02-21T11:36:53.767

Reputation: 612