我如何从Linux查询Windowsregistry项?

我正在开发一个Linux审计应用程序,除其他外,它必须从Windows机器上检索已安装的软件和许可证。 应用程序必须是无代理的。 wmi-client实际上是实现我想要的,我尝试查询应用程序,它工作得很好:

# LAUNCHING WMIC PLUGIN my $cmd = "wmic -U ".$username."%".$password." //".$hostname." \"select Name, Version from Win32_Product\""; my $output = `$cmd`; print "INSTALLED SOFTWARE:\n"; print "$output"; 

现在我的问题是,如何检索某些应用程序的产品密钥? 我知道有时他们存储在registry项中,我可以通过WMI查询他们吗?

编辑:只是发现在一个网站上:

http://social.technet.microsoft.com/Forums/en/winserverGP/thread/5cd1b80a-2f90-4d46-bf65-dba52dcf0c56

WQL查询基于某些提供了一组属性的WMI类。 WMIregistry操作取决于“默认”命名空间中的“StdRegProv”,必须调用某些方法才能获得结果。 这意味着基于WMIfilter的registry查询是不可能的。

所以看起来WQL不能查询registry项,那我该怎么办? 有任何想法吗?

我没有在非Windows客户端上使用它的经验,但是有DBD :: WMI 。