SWbemObjectSet-Objekt

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

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

Hinweis

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

Hinweis

Da der Rückruf an die Spüle möglicherweise nicht auf derselben Authentifizierungsebene wie der Client erforderlich ist, empfiehlt es sich, semisynchron statt asynchroner Kommunikation zu verwenden. Weitere Informationen finden Sie unter Aufrufen einer Methode.

Member

Das SWbemObjectSet-Objekt weist die folgenden Arten von Elementen auf:

Methoden

Das SWbemObjectSet-Objekt weist diese Methoden auf.

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

Eigenschaften

Das SWbemObjectSet-Objekt weist diese Eigenschaften auf.

Eigenschaft Zugriffstyp BESCHREIBUNG
Count
Schreibgeschützt
Die Anzahl der Elemente in der Auflistung.
Security_
Schreibgeschützt
Wird verwendet, um die Sicherheitseinstellungen zu lesen oder zu ändern.

Bemerkungen

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 WMI-verwalteten Ressource.
  • Eine Instanz einer Klassendefinition.

Die häufigste Verwendung dieser Klasse in WMI ist der 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

Für den meisten Teil wird die einzige Sache, die Sie jemals mit einem SWbemObjectSet tun werden, alle Objekte aufzählen, die in der Auflistung selbst enthalten sind. SWbemObjectSet enthält jedoch eine Eigenschaftsanzahl, die bei der Systemverwaltungsskripterstellung nützlich sein kann. Wie der Name impliziert, informiert Count Sie über die Anzahl der Elemente in der Auflistung. Dieses Skript ruft beispielsweise eine Auflistung aller auf einem Computer installierten Dienste ab und gibt dann die Gesamtzahl der gefundenen Dienste an:

Weitere Informationen zur Verwendung dieser Klasse finden Sie unter Enumerating WMI.

Beispiele

Im folgenden VBScript-Codebeispiel wird 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";
}

Requirements (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

Skripting-API-Objekte