SWbemObjectSet. ItemIndex, méthode

La méthode itemIndex retourne l' SWbemObject associé à l’index spécifié dans la collection. L’index indique la position de l’élément dans la collection. La numérotation des collections commence à zéro.

Syntaxe

objWbemObject = .ItemIndex( _
  ByVal lIndex _
)

Paramètres

lIndex

Index de l’élément dans la collection.

Valeur retournée

En cas de réussite, l’objet SWbemObject demandé retourne.

Codes d’erreur

À la fin de la méthode Item , l’objet Err peut contenir l’un des codes d’erreur ci-dessous.

wbemErrFailed -2147749889 (0x80041001)

Erreur non spécifiée.

wbemErrInvalidParameter -2147749896 (0x80041008)

Un paramètre non valide a été spécifié. Cette erreur est retournée si un numéro d’index négatif est fourni.

wbemErrOutOfMemory -2147749894 (0x80041006)

Mémoire insuffisante pour terminer l’opération.

wbemErrNotFound -2147749890 (0x80041002)

L’élément demandé est introuvable.

Notes

La méthode itemIndex permet aux clients WMI des scripts et des applications écrits dans n’importe quel langage de manipuler de manière uniforme une collection comme un tableau. Cette méthode peut être utilisée avec les collections SWbemObjectSet . Les requêtes, telles que SWbemServices. AssociatorsOf, SWbemServices. ReferencesTo, SWbemServices. InstancesOfou SWbemServices.ExecQuery retournent des collections SWbemObjectSet . La méthode itemIndex ne fonctionne pas avec les collections qui ne contiennent pas de SWbemObjects, telles que SWbemMethodSet, SWbemNamedValueSet, SWbemPrivilegeSet, SWbemPropertySetet SWbemQualifierSet.

ItemIndex peut également être utilisé pour obtenir l’instance unique d’une classe singleton.

Exemples

L’exemple de code VBScript suivant recherche une collection de toutes les instances de _ processus Win32 , puis affiche les noms des trois premiers processus.

strComputer = "."
Set objWMIService = GetObject("winmgmts:\\" & _
    strComputer & "\root\cimv2")

set colProcesses = _
    objWMIService.Execquery("Select * from Win32_Process")
Wscript.Echo  colProcesses.ItemIndex(0).Name
Wscript.Echo  colProcesses.ItemIndex(1).Name
Wscript.Echo  colProcesses.ItemIndex(2).Name

Une seule instance de Win32 _ OperatingSystem existe pour chaque installation du système d’exploitation. La création du chemin d’accès GetObject pour obtenir l’instance unique est délicate, de sorte que les scripts énumèrent normalement le _ OperatingSystem Win32 , même si une seule instance est disponible. L’exemple de code VBScript suivant montre comment utiliser la méthode itemIndex pour accéder à un _ OperatingSystem Win32 , sans utiliser de boucle for each .

strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
    & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")

Set colOperatingSystems = objWMIService.ExecQuery _
    ("Select * from Win32_OperatingSystem")

Wscript.Echo "Caption: " & colOperatingSystems.ItemIndex(0).Caption

L’exemple de code VBScript suivant obtient les instances associées à Win32 _ OperatingSystem, telles que Win32 _ SystemOperatingSystem.

strComputer = "."
Set objWMIService = GetObject("winmgmts:\\" & _
    strComputer & "\root\cimv2")

set colOS = _
    objWMIService.Execquery("Select * from Win32_OperatingSystem")
    Wscript.Echo  colOS.ItemIndex(0).Name

set colAssociators = colOS.ItemIndex(0).Associators_
    For Each Associator in colAssociators 
        Wscript.Echo Associator.Path_.RelPath  
    Next

L’exemple de code suivant affiche des instances associées à Win32 _ OperatingSystem.

Windows Server 2008 
    |C:\Windows|\Device\Harddisk0\Partition1
Win32_ComputerSystem.Name="Test1"
Win32_AutochkSetting.SettingID="Windows Server 2008 
    |C:\\Windows|\\Device\\Harddisk0\\Partition1"

Configuration requise

Condition requise Valeur
Client minimal pris en charge
Windows Vista
Serveur minimal pris en charge
Windows Server 2008
En-tête
Wbemdisp. h
Bibliothèque de types
Wbemdisp. tlb
DLL
Wbemdisp.dll
CLSID
CLSID _ SWbemObjectSet
IID
IID _ ISWbemObjectSet

Voir aussi

SWbemObjectSet