SWbemObjectSet-Objekt

Ein SWbemObjectSet-Objekt ist eine Auflistung von SWbemObject-Objekten. Weitere Informationen finden Sie unter Zugreifen auf eine Sammlung. Dieses Objekt kann nicht durch den VBScript-CreateObject-Aufruf erstellt werden.

Sie können ein SWbemObjectSet-Objekt abrufen, indem Sie eine der folgenden Methoden oder deren asynchrone Entsprechungen aufrufen:

Hinweis

Das SWbemObjectSet-Objekt unterstützt die optionalen Add- und Remove-Auflistungsmethoden nicht.

Hinweis

Da der Rückruf an die Senke möglicherweise nicht auf der Authentifizierungsebene zurückgegeben wird, die der Client erfordert, wird empfohlen, anstelle der asynchronen Kommunikation semisynchron zu verwenden. Weitere Informationen finden Sie unter Aufrufen einer Methode.

Member

Das SWbemObjectSet-Objekt verfügt über diese Typen von Membern:

Methoden

Das SWbemObjectSet-Objekt verfügt über diese Methoden.

Methode BESCHREIBUNG
Element Ruft ein SWbemObject-Objekt aus der Auflistung ab. Dies ist die Standardmethode des -Objekts.

Eigenschaften

Das SWbemObjectSet-Objekt verfügt über diese Eigenschaften.

Eigenschaft Zugriffstyp BESCHREIBUNG
Anzahl
Schreibgeschützt
Die Anzahl der Elemente in der Auflistung.
Sicherheit_
Schreibgeschützt
Wird zum Lesen oder Ändern der Sicherheitseinstellungen verwendet.

Hinweise

Ein SWbemObjectSet ist eine Auflistung von null oder mehr SWbemObject-Objekten. Jedes SWbemObject in einem SWbemObjectSet kann eine von zwei Dingen darstellen:

  • Eine Instanz einer von WMI verwalteten Ressource.
  • Eine Instanz einer Klassendefinition.

Die gängigste Verwendung dieser Klasse in WMI ist als Rückgabewert für einen ExecQuery- oder InstancesOf-Aufruf, wie im folgenden Codebeispiel beschrieben:

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 Teilen werden Sie mit einem SWbemObjectSet nur alle Objekte auflisten, die in der Auflistung selbst enthalten sind. SWbemObjectSet enthält jedoch die Eigenschaft Count, die bei der Skripterstellung für die Systemverwaltung nützlich sein kann. Wie der Name schon sagt, gibt Count die Anzahl der Elemente in der Auflistung an. Dieses Skript ruft z. B. eine Sammlung aller auf einem Computer installierten Dienste ab und gibt dann die Gesamtzahl der gefundenen Dienste wieder:

Weitere Informationen zur Verwendung dieser Klasse finden Sie unter Aufzählen von WMI.

Beispiele

Das folgende VBScript-Codebeispiel veranschaulicht, wie SWbemObjectSet-Auflistungen bearbeitet werden.

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, wie SWbemObjectSet-Auflistungen bearbeitet werden.

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
Wbemdisp.h
Typbibliothek
Wbemdisp.tlb
DLL
Wbemdisp.dll
CLSID
CLSID _ SWbemObjectSet
IID
IID _ ISWbemObjectSet

Siehe auch

Skripterstellung für API-Objekte