Я занимаюсь разработкой приложения для аудита 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";
Теперь мой вопрос, как я могу получить ключ продукта для определенных приложений?Я знаю, что иногда они хранятся в ключе реестра, могу ли я запросить их через WMI?
РЕДАКТИРОВАТЬ: Только что нашел на сайте:
http://social.technet.microsoft.com/Forums/en/winserverGP/thread/5cd1b80a-2f90-4d46-bf65-dba52dcf0c56
WQL-запросы основаны на определенных классах WMI, которые предлагают набор свойств.Вместо этого действия реестра WMI основаны на «StdRegProv» в пространстве имен «По умолчанию», и для получения результата необходимо вызвать определенные методы.Это означает, что WMI-фильтр баз запросов к реестру невозможен.
Таким образом, похоже, что WQL не может запрашивать ключи реестра, что я могу сделать тогда?Есть идеи?