![更新服务器 BaseApplicabilityRules 中的“LicenseDword”是什么?](https://linux22.com/image/519669/%E6%9B%B4%E6%96%B0%E6%9C%8D%E5%8A%A1%E5%99%A8%20BaseApplicabilityRules%20%E4%B8%AD%E7%9A%84%E2%80%9CLicenseDword%E2%80%9D%E6%98%AF%E4%BB%80%E4%B9%88%EF%BC%9F.png)
通过查看 XML 文件本身来查看 WSUS(msus)正在使用的适用性规则,发现许多规则未在 MSDN Doc 或 WSUS 附带的 XSD 文件中记录。
到目前为止,我已经能够在很大程度上弄清楚更新代理如何制定规则,但 LicenseDword 除外,根据 XML,它是 BaseApplicabilityRules 方案的一部分,但根本不是文档。
它似乎是以注册表为中心的,但无法在注册表中找到任何值来确定规则是如何评估的。
示例 XML
<upd:ApplicabilityRules>
<upd:IsInstalled>
<bar:LicenseDword Value="Kernel-ProductInfo" Comparison="EqualTo" Data="30" xmlns:bar="http://schemas.microsoft.com/msus/2002/12/BaseApplicabilityRules" />
</upd:IsInstalled>
</upd:ApplicabilityRules>
所有 Schema MSDN 文档都是这里。XSD 文件本身仅在 WSUS 安装目录下的 schemas 文件夹下可用。
如果有人了解这条规则或者知道他们试图评估什么以及如何评估,那将会非常有帮助。
答案1
您可以使用SL获取Windows信息DWORD从软件许可 API 获取值。
您可以通过转到注册表项自行完成此操作:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\ProductOptions
然后查看 REG_BINARY 值 ProductPolicy,它是看似键值对的二进制存储。我还没有弄清楚其余的细节,但至少我知道一种 API 方法和一种手动方法来访问评估 LicensedDword 所需的信息。