为什么SWbemServices.ExecQuery返回的属性多于请求的属性?

时间:2014-05-07 09:18:15

标签: wmi jscript wmi-query wmi-service

我从下面的JScript代码中得到了意想不到的结果。即使我只请求了 MACAddress ,也会返回 Index 属性。

这里发生了什么?

的JScript:

var wmi, col, itr, obj;

wmi = GetObject('winmgmts:');
col = wmi.ExecQuery('SELECT MACAddress FROM Win32_NetworkAdapterConfiguration');
itr = new Enumerator(col);

for (; !itr.atEnd(); itr.moveNext()) {
  obj = itr.item();
  itr = new Enumerator(obj.Properties_)
  for (; !itr.atEnd(); itr.moveNext()) {
    obj = itr.item();
    WSH.echo(obj.name)
  }
}

输出:

Microsoft (R) Windows Script Host Version 5.8
Copyright (C) Microsoft Corporation. All rights reserved.

Index
MACAddress

1 个答案:

答案 0 :(得分:1)

这种行为是正常的,WMI总是返回(如果存在)key属性(唯一标识类实例的属性)和WQL语句中指定的其他属性。