2014-05-07 79 views
0

我從下面的JScript代碼中獲得了意想不到的結果。 索引屬性即使我只請求MACAddress也會返回。爲什麼SWbemServices.ExecQuery會返回比請求更多的屬性?

這是怎麼回事?

的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

此行爲是正常的,WMI總是返回(如果存在的話)的關鍵屬性(用於唯一地標識一個屬性類的實例)以及WQL語句中指定的其他人。

+0

謝謝你的回答。你知道一個* IsKeyProperty *方法來確定我們得到的物品是否是一個關鍵屬性? – user710307

+0

您必須檢查該屬性限定符http://msdn.microsoft.com/en-us/library/windows/hardware/ff566365%28v=vs.85%29.aspx – RRUZ

相關問題