![VBScript 是否可以检查特定设备是否在设备管理器中?](https://linux22.com/image/1554088/VBScript%20%E6%98%AF%E5%90%A6%E5%8F%AF%E4%BB%A5%E6%A3%80%E6%9F%A5%E7%89%B9%E5%AE%9A%E8%AE%BE%E5%A4%87%E6%98%AF%E5%90%A6%E5%9C%A8%E8%AE%BE%E5%A4%87%E7%AE%A1%E7%90%86%E5%99%A8%E4%B8%AD%EF%BC%9F.png)
我的设备管理器里有“Realtek USB FE Family Controller”,电脑从睡眠模式唤醒后,有时无法识别该控制器,需要运行“TK_NIC_DRIVER_INSTALLER.sfx.exe”才能识别。
VBScript 是否可以检查控制器是否存在?如果不存在,则将运行以下命令。
CreateObject("wscript.shell").run("""C:\RTK_NIC_DRIVER_INSTALLER.sfx.exe"""),0
答案1
您可以使用 win32_PnPEntity WMI 类。这里我们只是迭代并检查具有该描述的设备:
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
如果这不起作用,您可能还需要测试 objItem.Present 或 objItem.Status