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 |
|
| Bibliothèque de types |
|
| DLL |
|
| CLSID |
CLSID _ SWbemObjectSet |
| IID |
IID _ ISWbemObjectSet |