Ahm*_*led 2 python subprocess runtime-error python-3.x wmic
我目前在获取特定 PC 的硬件 ID 时遇到错误,我一直在使用以下代码,并且它一直在很多 PC 上运行,但突然在 1 台 PC 上发生了以下错误
我正在使用的代码:
hardware_id = subprocess.check_output('wmic csproduct get uuid').decode().split('\n')[1].strip()
Run Code Online (Sandbox Code Playgroud)
我正在使用 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
Run Code Online (Sandbox Code Playgroud)
如果有人告诉我为什么此特定电脑会发生此错误以及如何修复它,我将不胜感激
我所说的 PC 操作系统是 Windows 10
首先请注意,WMIC 已被弃用。您最终会想要切换到 PS cmdlet。
调试此问题的下一步是查看通过调用而不指定 UUID 作为要获取的密钥可以获取什么(如果有的话)。wmic csproductwmic csproduct get
您可能会发现 UUID 对 WMI 不可用。这很可能是因为您的客户使用您无法控制的操作系统,而使用的是经过黑客攻击/修改/未经许可的 Windows 副本或修改过的 SMBIOS。可能还有其他解释,但这是最有可能的。纠正这个问题确实不是你力所能及的事情。
如果你想进一步调查,你可以使用 PS:
Get-WmiObject -Class Win32_ComputerSystemProduct | Select-Object -Property UUID
Run Code Online (Sandbox Code Playgroud)
但是,您会发现 UUID 不存在(否则 wmic 会返回它)。
| 归档时间: |
|
| 查看次数: |
1544 次 |
| 最近记录: |