SWbemObjectSet-Objekt
Ein SWbemObjectSet-Objekt ist eine Sammlung von SWbemObject-Objekten. Weitere Informationen finden Sie unter Zugreifen auf eine WMI-Sammlung. Dieses Objekt kann nicht durch den VBScript-Aufruf CreateObject erstellt werden.
Sie können ein SWbemObjectSet-Objekt abrufen, indem Sie eine der folgenden Methoden oder deren asynchrone Entsprechungen aufrufen:
- SWbemObject.Associators_
- SWbemObject.Instances_
- SWbemObject.References_
- SWbemObject.Subclasses_
- SWbemServices.AssociatorsOf
- SWbemServices.ExecQuery
- SWbemServices.InstancesOf
- SWbemServices.ReferencesTo
- SWbemServices.SubclassesOf
Hinweis
Die optionalen Sammlungsmethoden Add und Remove werden vom SWbemObjectSet-Objekt nicht unterstützt.
Hinweis
Da der Rückruf an die Senke möglicherweise nicht auf der Authentifizierungsebene zurückgegeben wird, die der Client benötigt, empfiehlt es sich, anstelle der asynchronen Kommunikation eine halbsynchrone Kommunikation zu verwenden. Weitere Informationen finden Sie unter Aufrufen einer Methode.
Member
Das SWbemObjectSet-Objekt verfügt über folgende Arten von Membern:
Methoden
Das SWbemObjectSet-Objekt verfügt über folgende Methoden:
Methode | BESCHREIBUNG |
---|---|
Element | Ruft ein SWbemObject-Objekt aus der Sammlung ab. Dies ist die Standardmethode für das Objekt. |
Itemindex | Ruft das SWbemObject-Objekt ab, das dem angegebenen Index zugeordnet ist, in die Auflistung. |
Eigenschaften
Das SWbemObjectSet-Objekt verfügt über folgende Eigenschaften:
Eigenschaft | Zugriffstyp | BESCHREIBUNG |
---|---|---|
Count |
Schreibgeschützt |
Die Anzahl der Elemente in der Auflistung. |
Security_ |
Schreibgeschützt |
Wird zum Lesen oder Ändern der Sicherheitseinstellungen verwendet. |
Bemerkungen
Bei SWbemObjectSet handelt es sich um eine Sammlung von null oder mehr SWbemObject-Objekten. Jedes SWbemObject-Objekt in einer SWbemObjectSet-Instanz kann eines von zwei Dingen darstellen:
- Eine Instanz einer von WMI verwalteten Ressource
- Eine Instanz einer Klassendefinition
Diese Klasse wird in WMI in der Regel als Rückgabewert für einen ExecQuery- oder InstancesOf-Aufruf verwendet, wie im folgenden Codebeispiel zu sehen:
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
In den meisten Fällen wird SWbemObjectSet zum Aufzählen aller Objekte verwendet, die in der Sammlung selbst enthalten sind. SWbemObjectSet enthält jedoch eine Eigenschaft namens „Count“, die bei der Erstellung von Skripts für die Systemverwaltung hilfreich sein kann. Wie der Name schon sagt, gibt „Count“ die Anzahl von Elementen in der Sammlung an. Das folgende Skript ruft beispielsweise eine Sammlung aller auf einem Computer installierten Dienste ab und gibt dann die Gesamtzahl der gefundenen Dienste aus:
Weitere Informationen zur Verwendung dieser Klasse finden Sie unter WMI-Enumeration.
Beispiele
Das folgende VBScript-Codebeispiel veranschaulicht die Bearbeitung von SWbemObjectSet-Sammlungen:
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
Das folgende Perl-Codebeispiel veranschaulicht die Bearbeitung von SWbemObjectSet-Sammlungen:
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";
}
Anforderungen
Anforderung | Wert |
---|---|
Unterstützte Mindestversion (Client) |
Windows Vista |
Unterstützte Mindestversion (Server) |
Windows Server 2008 |
Header |
|
Typbibliothek |
|
DLL |
|
CLSID |
CLSID_SWbemObjectSet |
IID |
IID_ISWbemObjectSet |