如何解决使用python子进程获取硬件ID时出错
我目前在获取非常特定的PC的硬件ID时遇到错误,我一直在使用以下代码,并且该代码已在很多PC上运行,但是突然出现以下错误发生在1台PC上
我正在使用的代码:
hardware_id = subprocess.check_output('wmic csproduct get uuid').decode().split('\n')[1].strip()
我正在使用Pyinstaller编译python文件,并且在此特定PC上出现以下错误:
csproduct - Alias not found
Traceback (most recent call last):
...
subprocess.CalledProcessError: Command 'wmic csproduct get uuid' returned returned non-zero exit status 44135
[8920] Failed to excute script app
如果有人告诉我为什么此特定PC会发生此错误以及如何解决该错误,我将不胜感激
我正在谈论的PC操作系统是Windows 10
解决方法
首先注意WMIC is deprecated。您最终将希望切换到PS cmdlet。
下一步的调试工作是,通过调用wmic csproduct
而不用指定UUID作为获取密钥,来查看wmic csproduct get
中有什么 。 / p>
您可能会发现UUID对WMI不可用。这很可能是因为您的客户(不受您控制的操作系统)正在使用被黑客入侵/已修改/未经许可的Windows副本或已修改的SMBIOS。可能还有其他解释,但这是最有可能的。纠正这些并不是您真正需要的。
如果您想进一步调查,可以使用PS:
Get-WmiObject -Class Win32_ComputerSystemProduct | Select-Object -Property UUID
但是,您会发现UUID不存在(否则wmic将返回它)。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。