使用 python 子进程获取硬件 ID 时出错
Error with getting hardware id using python sub process
我目前在获取非常特定的 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 的 OS 是 Windows 10
首先注意到WMIC is deprecated。您最终会想要切换到 PS cmdlet。
调试它的下一步是通过调用 wmic csproduct get
而不将 UUID 指定为获得的关键。
您可能会发现 UUID 对 WMI 不可用。这很可能是因为您的 OS 您的客户正在使用 windows 的 hacked/modified/unlicensed 副本或修改后的 SMBIOS。可能还有其他解释,但这是最有可能的。纠正这不是你真正的能力范围内的事情。
如果您想进一步调查,可以使用 PS:
Get-WmiObject -Class Win32_ComputerSystemProduct | Select-Object -Property UUID
但是,您会发现 UUID 不存在(否则 wmic 会返回它)。
我目前在获取非常特定的 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 的 OS 是 Windows 10
首先注意到WMIC is deprecated。您最终会想要切换到 PS cmdlet。
调试它的下一步是通过调用 wmic csproduct get
而不将 UUID 指定为获得的关键。
您可能会发现 UUID 对 WMI 不可用。这很可能是因为您的 OS 您的客户正在使用 windows 的 hacked/modified/unlicensed 副本或修改后的 SMBIOS。可能还有其他解释,但这是最有可能的。纠正这不是你真正的能力范围内的事情。
如果您想进一步调查,可以使用 PS:
Get-WmiObject -Class Win32_ComputerSystemProduct | Select-Object -Property UUID
但是,您会发现 UUID 不存在(否则 wmic 会返回它)。