如果 USB 设备 ID 匹配,我在查询中使用 case 表达式在自定义列中输出设备描述。每台机器将有多个相同的基本设备ID,因为它们通常是来自制造商的多个设备共享一个USB加密狗或其他东西。
我遇到的问题是两个设备制造商具有相同的基本设备 ID。我不能确切地知道每个完整的设备 ID 以及它属于哪个制造商,我所能做的就是关闭第一部分。制造商之一将在统一接收器的列中列出他们的名称,但不会列出鼠标和/或键盘或任何其他可能显示在计算机上的名称。
这一切都来自win32_usbDevice下的wmi。所以现在我有一个案例表达,如果 deviceid 像 '%XXXXX%' 和制造商像 '%Logitech%' 然后是 'Logitech Unifying Dongle'。但正如我所说的鼠标和键盘或任何其他可能连接的具有相同基本设备 ID 的制造商将只是通用的“标准系统设备”或“标准 USB 主机控制器”等。对于这些我不知道是否属于设备制造商 1 或者如果它属于另一个。我可以假设,如果其中一个匹配基于 id 的设备有罗技作为制造商,那么为该计算机显示的其余设备是罗技输入设备。
这是我在一台机器上得到的结果示例。
那么有什么方法可以使用 case 或 if 吗?就像如果 deviceid like '%046D&PID_C525B%' 和 [USB Device Name] 不像 '%Logitech%' 但机器名称与 Logitech 返回的同一行相同,则 'Logitech Devices' 以设备描述结尾。