そういえば先日初めて知ったんですが、
var objwmiservice = GetObject("winmgmts:\\\\.\\root\\CIMV2");
var colitems = objwmiservice.ExecQuery("Select * From Win32_NetworkAdapterConfiguration Where IPEnabled = True");
var ipconfigset = new Enumerator(colitems);
var errGateway;
for(; !ipconfigset.atEnd(); ipconfigset.moveNext()) {
....
....
errGateway = ipconfigset.item().SetGateways(["xxx.xxx.xxx.xxx"], [1]);
...
...
}
といったJScriptからWMIを操作してPCのゲートウェイアドレスを変更するスクリプトがあった場合、JScriptのArrayオブジェクトだとSetGatewaysメソッドが動かないのですよねー
SetGateways(new Array("xxx.xxx.xxx.xxx"), new Array(1));
SetGatewaysメソッドの引数は配列だから動くのかなと思ってたんだけど、VBArrayじゃないとダメみたい。なので上のスクリプトのコードのようになってしまったのですね。
var gwlist = new ACtiveXObject('Scripting.Dictionary')
一応、DictionaryオブジェクトからVBArrayにする方法もググると出てきますのでそれで代用するのもありと言うことで
……まあ、どうでもいいですな
$Date:: 2006-09-24 23:22:29 +0900 #$ $HeadURL: file:///S:/Subversion/ndiary_log/2006/09/20060923.diary $