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