首先,网上介绍最多的方法就是cpu,baseboard等硬件设备的序列号。
但是,这两种获取方法都有问题:
- wmic cpu get processorid获取的cpu序列号,其实只是某个系列的代号,并不是唯一的。比如,12代i9都用的是一个CPU序列号,会出现重复的情况。使用这个,无法作为唯一标识。
- wmic baseboard get serialnumber同样无法获取到唯一的标识,因为,有些主板会直接是空的,就是什么返回信息都没有,有一些主板呢会返回一个none。
所以,以上两种方法都不是最优方案。以下为最优方案:
wmic csproduct get uuid:这个方法是最优的方法,这个也是我自己测试出来的结果。一篇文章也提到这个是最优的方法。uuid最优方法参考
补充:这个获取uuid的命令行也是出了问题,还是会出在有相同的情况。