Partager via


SWbemObjectSet, objet

Un objet SWbemObjectSet est une collection d’objets SWbemObject. Pour plus d’informations, consultez Accès à une collection. Cet objet ne peut pas être créé par l’appel VBScript CreateObject.

Vous pouvez obtenir un objet SWbemObjectSet en appelant l’une des méthodes suivantes ou leurs équivalents asynchrones :

Notes

L’objet SWbemObjectSet ne prend pas en charge les méthodes de collection facultatives Add et Remove.

Notes

Étant donné que le rappel au récepteur peut ne pas être retourné au même niveau d’authentification que celui requis par le client, il est recommandé d’utiliser une communication semi-synchrone plutôt qu’une communication asynchrone. Pour plus d’informations, consultez Appel d’une méthode.

Membres

L’objet SWbemObjectSet présente les types de membres suivants :

Méthodes

L’objet SWbemObjectSet a ces méthodes.

Méthode Description
Élément Récupère un objet SWbemObject de la collection. C’est la méthode par défaut de l’objet.
ItemIndex Récupère l’objet SWbemObject associé à l’index spécifié dans la collection.

Propriétés

L’objet SWbemObjectSet a ces propriétés.

Propriété Type d’accès Description
Count
Lecture seule
Nombre d’éléments dans la collection
Security_
Lecture seule
Utilisée pour lire ou changer les paramètres de sécurité.

Notes

Un objet SWbemObjectSet est une collection de zéro ou plusieurs objets SWbemObject. Chaque SWbemObject dans un SWbemObjectSet peut représenter l’une des deux instances suivantes :

  • Instance d’une ressource managée par WMI.
  • Instance d’une définition de classe.

Le plus souvent, cette classe s’utilise dans WMI comme valeur retournée d’un appel ExecQuery ou InstancesOf, comme cela est décrit dans l’exemple de code suivant :

strComputer = "."
Set objSWbemServices = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
Set colServices = objSWbemServices.ExecQuery("SELECT State FROM Win32_Service")
For Each objService In colServices
    Wscript.Echo objService.Name, objService.State
Next

En règle générale, la seule chose que vous ferez avec un SWbemObjectSet sera d’énumérer tous les objets contenus dans la collection elle-même. Toutefois, SWbemObjectSet inclut une propriété Count qui peut être utile dans les scripts d’administration de système. Count calcule le nombre d’éléments dans la collection. Par exemple, ce script récupère une collection de tous les services installés sur un ordinateur, puis retourne le nombre total de services trouvés :

Pour plus d’informations sur l’utilisation de cette classe, consultez Énumération de WMI.

Exemples

L’exemple de code VBScript suivant illustre la façon dont les collections SWbemObjectSet sont manipulées.

On Error Resume Next

Set Disks = GetObject("winmgmts:").InstancesOf ("CIM_LogicalDisk")

WScript.Echo "There are", Disks.Count, " Disks"

Set Disk = Disks("Win32_LogicalDisk.DeviceID=""C:""")
WScript.Echo Disk.Path_.Path

if Err <> 0 Then
 WScript.Echo Err.Description
 Err.Clear
End if

L’exemple de code Perl suivant illustre la façon dont les collections SWbemObjectSet sont manipulées.

use strict;
use Win32::OLE;

my ($disks,$disk);

eval { $disks = Win32::OLE->GetObject("winmgmts:{impersonationLevel=impersonate}!\\\\.\\root\\cimv2")->
   InstancesOf("CIM_LogicalDisk"); };
unless($@)
{
 print "\nThere are ", $disks->{Count}, " Disks \n";

 eval { $disk = $disks->Item("Win32_LogicalDisk.DeviceID=\"C:\""); };
 unless($@)
 {
  print $disk->{Path_}->{Path}, "\n";
 }
 else
 {
  print STDERR Win32::OLE->LastError, "\n";
 }
}
else
{
 print STDERR Win32::OLE->LastError, "\n";
}

Spécifications

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

Objets de l’API de script