私は現在、Java ベースのクロスプラットフォーム ソフトウェア ディストリビューターに取り組んでおり、ユーザーが事前にセットアップを行う必要がないように、ネイティブ OS メカニズムを使用することにしました。
SSH2 には JSCH を、Java には JACOB を選択しました。JACOB では開始ホストが Windows に制限されていることは理解していますが、それは私が我慢できることです。
WMI 経由でターゲットと通信するためのネイティブ メカニズムの一部を使用するために、JACOB のラッパーを作成していますが、小さな問題が発生しています。特定の Win32_ クラス オブジェクトで使用できるすべてのプロパティのリストを取得しようとしていますが、取得できませんでした。
このリンクは、VB http://www.vbsedit.com/scripts/misc/wmi/scr_1333.aspで実行できることを示しており、JACOB を使用しているときに誰かがそれを理解できたかどうか疑問に思っていました。
編集:(コードスニペット)
item = enumVariant.nextElement().toDispatch();
//Dispatch.class returns a variant which can convert to java form
String serviceName = Dispatch.call(item, "Name").toString();
String servicePath = Dispatch.call(item,"PathName").toString();
int servicePID = Dispatch.call(item,"ProcessId").getInt();
//System.out.println("Service: "+serviceName+" ServicePath: "+servicePath+" PID: "+servicePID);
//System.out.println(serviceName+" "+servicePath+" "+servicePID);
list.add(serviceName+" "+servicePID);
上記のコードは、個々のプロパティを要求できることを示していますが、すべてのプロパティを要求する良い方法はありません。