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 :
- SWbemObject.Associators_
- SWbemObject.Instances_
- SWbemObject.References_
- SWbemObject.Subclasses_
- SWbemServices.AssociatorsOf
- SWbemServices.ExecQuery
- SWbemServices.InstancesOf
- SWbemServices.ReferencesTo
- SWbemServices.SubclassesOf
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 |
|
Bibliothèque de types |
|
DLL |
|
CLSID |
CLSID_SWbemObjectSet |
IID |
IID_ISWbemObjectSet |