SWbemObject-Objekt

Sie können die Methoden und Eigenschaften des SWbemObject-Objekts verwenden, um eine WMI-Klassendefinition (Windows Management Instrumentation, Windows-Verwaltungsinstrumentation) oder -Objektinstanz zu repräsentieren. Dieses Objekt kann nicht durch den VBScript-Aufruf CreateObject erstellt werden.

Dieses Objekt unterstützt zwei Typen von Eigenschaften und Methoden. Die in diesem Abschnitt definierten Typen sind generische Eigenschaften und Methoden, die für alle WMI-Objekte gelten. Darüber hinaus macht dieses Objekt die Eigenschaften und Methoden des zugrunde liegenden Objekts als dynamische Automatisierungseigenschaften und -methoden von SWbemObject verfügbar. Die Namen und Typen dieser Eigenschaften und Methoden richten sich nach dem zugrunde liegenden WMI-Objekt. Weitere Informationen dazu, wie diese dynamischen Eigenschaften und Methoden verfügbar gemacht werden, finden Sie unter Bearbeiten von Klassen- und Instanzinformationen.

Aus Sicht des WMI-Clients ist dieses Objekt immer prozessintern. Schreibvorgänge wirken sich nur auf die lokale Kopie des Objekts aus, und Lesevorgänge rufen immer Werte aus der lokalen Kopie ab. Aktualisierungen von WMI werden nur ausgeführt, wenn vollständige Objekte mit einem Aufruf der SWbemObject.Put_-Methode geschrieben werden. Wenn Sie die Eigenschaften oder Methoden in einem SWbemObject-Objekt ändern, werden diese Änderungen erst in WMI geschrieben, wenn Sie SWbemObject.Put_ aufrufen.

Die in diesem Abschnitt definierten generischen Methoden- und Eigenschaftsnamen enden immer mit einem nachfolgenden Unterstrich („_“), um sie von den dynamischen WMI-Methoden und -Eigenschaften des zugrunde liegenden Objekts zu unterscheiden.

Beachten Sie, dass das SWbemObject-Objekt nicht mit der VBScript-Methode GetObject erstellt werden kann. Wenn Sie eine neue, leere Klasse erstellen möchten, verwenden Sie SWbemServices.Get mit einem leeren Parameter für den Pfad. Dieser Aufruf gibt ein leeres SWbemObject-Objekt zurück, das eine Klasse werden kann. Dann können Sie einen Klassennamen für die Class-Eigenschaft des SWbemObjectPath-Objekts angeben, das vom Path_-Aufruf zurückgegeben wird. Fügen Sie der neuen Klasse mit der Properties_-Methode Eigenschaften hinzu. Um eine Instanz zu erstellen, rufen Sie GetObject in der neuen Klasse auf.

Das folgende Codebeispiel zeigt, wie eine neue Klasse abgerufen und ihr eine Eigenschaft hinzugefügt wird. Das SWbemObject-Objekt, das die Klasse repräsentiert, muss mit einem Aufruf von Put_ wieder in das WMI-Repository geschrieben werden.

wbemCimtypeString = 8
Set objSWbemService = GetObject("Winmgmts:root\default")
Set objClass = objSWbemService.Get()
objClass.Path_.Class = "NewClass"

' Add a property
' String property
objClass.Properties_.add "PropertyName", wbemCimtypeString  
' Make the property a key property 
objClass.Properties_("PropertyName").Qualifiers_.add "key", true

' Write the new class to the root\default namespace in the repository
Set objClassPath = objClass.Put_
WScript.Echo objClassPath.Path

'Create an instance of the new class using SWbemObject.SpawnInstance
Set objNewInst = GetObject( _
    "Winmgmts:root\default:NewClass").Spawninstance_

objNewInst.PropertyName = "My Instance"

' Write the instance into the repository
Set objInstancePath = objNewInst.Put_
WScript.Echo objInstancePath.Path

Sie können das Repository mit einem Anzeigetool wie CIM Studio überprüfen, um sich zu vergewissern, dass die neue Klasse und Instanz angezeigt werden. Ein Beispiel zum Entfernen einer Klasse und Instanz aus dem Repository finden Sie unter SWbemServices.Delete oder SWbemObject.Delete_.

Member

Das SWbemObject-Objekt verfügt über die folgenden Membertypen:

Methoden

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

Methode Beschreibung
Associators_ Ruft die Associator-Elemente des Objekts ab.
AssociatorsAsync_ Ruft die Associator-Elemente des Objekts asynchron ab.
Clone_ Erstellt eine Kopie des aktuellen Objekts.
CompareTo_ Überprüft zwei -Objekte auf Gleichheit.
Delete_ Löscht das Objekt aus WMI.
DeleteAsync_ Löscht das Objekt asynchron aus WMI.
ExecMethod_ Führt eine von einem Methodenanbieter exportierte Methode aus.
ExecMethodAsync_ Führt eine von einem Methodenanbieter exportierte Methode asynchron aus.
GetObjectText_ Ruft die Textdarstellung des Objekts ab (MOF-Syntax).
Instances_ Gibt eine Auflistung von Instanzen des Objekts zurück (bei dem es sich um eine WMI-Klasse handeln muss).
InstancesAsync_ Gibt asynchron eine Auflistung von Instanzen des Objekts zurück (bei dem es sich um eine WMI-Klasse handeln muss).
Put_ Erstellt oder aktualisiert das Objekt in WMI.
PutAsync_ Erstellt oder aktualisiert das Objekt in WMI asynchron.
References_ Gibt Verweise auf das Objekt zurück.
ReferencesAsync_ Gibt asynchron Verweise auf das Objekt zurück.
SpawnDerivedClass_ Erstellt eine neue abgeleitete Klasse aus dem aktuellen Objekt (bei dem es sich um eine WMI-Klasse handeln muss).
SpawnInstance_ Erstellt eine neue Instanz aus dem aktuellen Objekt.
Subclasses_ Gibt eine Auflistung von Unterklassen des Objekts zurück (bei dem es sich um eine WMI-Klasse handeln muss).
SubclassesAsync_ Gibt asynchron eine Auflistung von Unterklassen des Objekts zurück (bei dem es sich um eine WMI-Klasse handeln muss).

Eigenschaften

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

Eigenschaft Zugriffstyp Beschreibung
Derivation_
Schreibgeschützt
Enthält ein Array von Zeichenfolgen, das die Ableitungshierarchie für die Klasse beschreibt.
Methods_
Schreibgeschützt
Ein SWbemMethodSet-Objekt, bei dem es sich um die Auflistung von Methoden für dieses Objekt handelt.
Path_
Schreibgeschützt
Enthält ein SWbemObjectPath-Objekt, das den Objektpfad der aktuellen Klasse oder Instanz repräsentiert.
Properties_
Schreibgeschützt
Ein SWbemPropertySet-Objekt, bei dem es sich um die Auflistung von Eigenschaften für dieses Objekt handelt.
Qualifiers_
Schreibgeschützt
Ein SWbemQualifierSet-Objekt, bei dem es sich um die Auflistung von Qualifizierern für dieses Objekt handelt.
Sicherheit_
Schreibgeschützt
Enthält ein SWbemSecurity-Objekt, das zum Lesen oder Ändern der Sicherheitseinstellungen verwendet wird.

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_SWbemObject
IID
IID_ISWbemObject

Siehe auch

SWbemObjectEx

Skripterstellung für API-Objekte