现象:如图在部分电脑上获取ip和MAC地址对应关系时,界面显示部分电脑发现重复ip和mac
分析:用WMI Explorer查看时,有一个设备Microsoft TV/video connection与当前Intel网卡ip和mac地址等参数全部一样,唯一区别是Caption
方法:
1、查阅https://docs.microsoft.com/zh-cn/windows/win32/wmisdk/wql-operators 微软wmi wql语句支持Like语句;
尝试模糊匹配字符串,如下:
2、此时我们需要Not Like,但WQL并不支持此语法,WQL是sql的子集并不支持所有语法,经过尝试发现Not可以放在最前面。
确定了网卡设备的唯一性,问题解决。
备注:在代码中sprintf直接输入‘%TV/Video%’结果看log日志,发现%没了,需要转义
//其中的%%中的第一个%用来转译特殊字符