3

私は、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 を介してクエリを実行できますか?

編集:ウェブサイトでそれを見つけました:

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

WQL クエリは、一連のプロパティを提供する特定の WMI クラスに基づいています。代わりに、WMI レジストリ アクションは "Default" 名前空間の "StdRegProv" に基づいており、結果を取得するには特定のメソッドを呼び出す必要があります。つまり、レジストリ クエリ ベースの WMI フィルタは使用できません。

WQL はレジストリ キーを調査できないようですが、どうすればよいですか? 何か案は?

4

1 に答える 1

1

Windows 以外のクライアントで使用した経験はありませんが、DBD::WMIがあります。

于 2011-11-17T16:25:32.473 に答える