使用WMI查询检查Windows许可证状态的最佳方法是什么

时间:2015-03-26 10:28:21

标签: windows wmi wmi-query

我试图找出使用WMI查询检查Windows许可证状态的最佳方法。查询应返回一行,指示许可证状态,并且我希望它尽可能通用,以便我可以在许多计算机和不同版本的操作系统上运行它。

到目前为止有以下一个:

SELECT LicenseStatus, Name, ApplicationID FROM SoftwareLicensingProduct

问题是它返回了很多行。例如,如果安装了Office,它也会包含在查询结果中,我也不知道如何限制结果。

1 个答案:

答案 0 :(得分:0)

如果您最初没有坚持纯wmi查询,请尝试下面给出的 CLI 命令,包括输出:

==>for /F "tokens=*" %G in ('where slmgr.vbs') do @cscript "%~G" /dli

Name: Windows(R), Core edition
Description: Windows(R) Operating System, OEM_COA_NSLP channel
Partial Product Key: ABCDE
License Status: Licensed

==>

现在你可以(在一个简单的.bat脚本中)将它与

结合起来
==>wmic path SoftwareLicensingProduct where "PartialProductKey='ABCDE'" get LicenseStatus, Name, ApplicationID, PartialProductKey, Description /value

ApplicationID=55c92734-d682-4d71-983e-d6ec3f16059f
Description=Windows(R) Operating System, OEM_COA_NSLP channel
LicenseStatus=1
Name=Windows(R), Core edition
PartialProductKey=ABCDE

==>

或者只需查看slmgr.vbs即可查看 Microsoft 解决方案。