Как я могу запросить ключи реестра Windows из Linux? - PullRequest
3 голосов
/ 17 ноября 2011

Я занимаюсь разработкой приложения для аудита 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 не может запрашивать ключи реестра, что я могу сделать тогда?Есть идеи?

1 Ответ

2 голосов
/ 17 ноября 2011

У меня нет опыта его использования на клиентах, отличных от Windows, но есть DBD :: WMI .

...