2014-05-07 1 views
0

Je reçois des résultats inattendus du code JScript ci-dessous. La propriété Index est renvoyée même si j'ai seulement demandé MACAddress.Pourquoi SWbemServices.ExecQuery renvoie-t-il plus de propriétés que demandé?

Que se passe-t-il ici?

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) 
    } 
} 

Sortie:

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

Index 
MACAddress 

Répondre

1

Ce comportement est normal, le retourne WMI toujours (si présente) la propriété clé (une propriété qui identifie un instance d'une classe) et les autres spécifiés dans la phrase WQL.

+0

Merci pour la réponse. Connaissez-vous une méthode * IsKeyProperty * pour déterminer si l'élément que nous avons est une propriété clé? – user710307

+0

Vous devez vérifier les qualificatifs de propriétés pour cela http://msdn.microsoft.com/fr-fr/library/windows/hardware/ff566365%28v=vs.85%29.aspx – RRUZ

Questions connexes