私は、Windows マシンからインストール済みのソフトウェアとライセンスを取得する必要がある Linux 監査アプリケーションを開発しています。アプリケーションはエージェントフリーでなければなりません。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 を介してクエリを実行できますか?
編集:ウェブサイトでそれを見つけました:
WQL クエリは、一連のプロパティを提供する特定の WMI クラスに基づいています。代わりに、WMI レジストリ アクションは "Default" 名前空間の "StdRegProv" に基づいており、結果を取得するには特定のメソッドを呼び出す必要があります。つまり、レジストリ クエリ ベースの WMI フィルタは使用できません。
WQL はレジストリ キーを調査できないようですが、どうすればよいですか? 何か案は?