Objet SWbemObjectSet

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 récupérer 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 facultatives Add et Remove collection.

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 la fonction semi-synchrone au lieu de la communication asynchrone. Pour plus d’informations, consultez appel d’une méthode.

Membres

L’objet SWbemObjectSet possède les types de membres suivants :

Méthodes

L’objet SWbemObjectSet possède ces méthodes.

Méthode Description
Élément Récupère un objet SWbemObject à partir de la collection. Il s’agit de la méthode par défaut de l’objet.

Propriétés

L’objet SWbemObjectSet possède ces propriétés.

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

Remarques

Une collection SWbemObjectSet est une collection de zéro ou plusieurs objets SWbemObject . Chaque SWbemObject dans une SWbemObjectSet peut représenter l’un des deux éléments suivants :

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

L’utilisation la plus courante de cette classe dans WMI est la valeur de retour pour un appel ExecQuery ou InstancesOf , comme 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

Pour l’essentiel, la seule chose que vous feriez avec une SWbemObjectSet est d’énumérer tous les objets contenus dans la collection elle-même. Toutefois, SWbemObjectSet inclut un nombre de propriétés qui peut être utile dans les scripts d’administration de système. Comme son nom l’indique, count indique 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 renvoie 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 manière 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 manière 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";
}

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

Scripts d’objets d’API