JScriptでWMIを使用する

wscjsfwに久しぶりに機能を追加しました。

WMIはVBScriptのサンプルは多いのですが、

JScriptのサンプルは少ないみたいですね。

WMIはVBScriptの方が断然扱いやすいんですが

あえてJScriptで書きたい人へ。

 

ActiveXは「WbemScripting.SWbemLocator」。

「ConnectServer」メソッドでサービスに接続し、

サービスクラスの「ExecQuery」メソッドでクエリを実行します。

 

普通にやると「ExecQuery」の結果を

JScriptで扱えるようにするのに手間取ります。

(Enumeratorで結果をラップ、各プロパティの取得、メソッドの呼び出し等)

 

wscjsfwではこのあたりの面倒な部分をラップしたクラスを提供しています。

wscjsfwを使用したサンプルを以下に書きます。

 

興味があれば、wscjsfwをダウンロードして「wscjsfw.js」の

「/// =>update section Name=MainProcedure」の下に

以下のコードを追加して実行してみてください。

 

    // WMIラッパークラスを作成する
    var wmi = new WMI();
    // サービスに接続する(指定なしでローカルの名前空間「root\simv2」に接続する)
    var service = wmi.ConnectServer();
    // クエリを実行(CPUに関する情報を取得)
    var processors = service.ExecQuery("select * from Win32_Processor", WMI_Win32_Processor);
    // CPU情報を表示
    alert("CPU名:" + processors[0].Name);
    alert("2次キャッシュサイズ:" + processors[0].L2CacheSize);
    alert("3次キャッシュサイズ:" + processors[0].L3CacheSize);

2011.02.28