SWbemObject-Objekt

Sie können die Methoden und Eigenschaften des SWbemObject-Objekts verwenden, um eine Windows Verwaltungsinstrumentation (WMI)-Klassendefinition oder -objektinstanz darzustellen. Dieses Objekt kann nicht vom VBScript CreateObject-Aufruf erstellt werden.

Dieses Objekt unterstützt zwei Arten von Eigenschaften und Methoden. Diese in diesem Abschnitt definierten 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 hängen vom zugrunde liegenden WMI-Objekt ab. Weitere Informationen dazu, wie diese dynamischen Eigenschaften und Methoden verfügbar gemacht werden, finden Sie unter Bearbeiten von Klassen- und Instanzinformationen.

Aus der WMI-Clientperspektive ist dieses Objekt immer in Bearbeitung. Schreibvorgänge wirken sich nur auf die lokale Kopie des Objekts aus, und Lesevorgänge rufen immer Werte aus der lokalen Kopie ab. Updates für WMI werden nur ausgeführt, wenn ganze Objekte mithilfe eines Aufrufs der SWbemObject.Put_ -Methode geschrieben werden. Wenn Sie die Eigenschaften oder Methoden in einem SWbemObject-Objekt ändern, werden Ihre Änderungen erst in WMI geschrieben, wenn Sie SWbemObject.Put_ aufrufen.

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

Beachten Sie, dass SWbemObject nicht mithilfe der VBScript GetObject.-Methode erstellt werden kann. Wenn Sie eine neue, leere Klasse erstellen möchten, verwenden Sie SWbemServices.Get mit einem leeren Pfadparameter. Dieser Aufruf gibt ein leeres SWbemObject-Objekt zurück, das zu einer Klasse werden kann. Anschließend 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 eigenschaften durch die Properties_ -Methode hinzu. Rufen Sie GetObject für die neue Klasse auf, um eine Instanz zu erstellen.

Im folgenden Codebeispiel wird gezeigt, wie Sie eine neue Klasse abrufen und eine Eigenschaft hinzufügen. Das SWbemObject-Objekt , das die Klasse darstellt, muss durch einen Aufruf von Put_ in das WMI-Repository zurückgeschrieben 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 untersuchen, um zu überprüfen, ob die neue Klasse und Instanz angezeigt wird. 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 Arten von Elementen:

Methoden

Das SWbemObject-Objekt weist diese Methoden auf.

Methode Beschreibung
Associators_ Ruft die Associators des Objekts ab.
AssociatorsAsync_ Ruft asynchron die Associators des Objekts ab.
Clone_ Erstellt eine Kopie des aktuellen Objekts.
CompareTo_ Testet zwei Objekte für die 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 asynchron eine Methode aus, die von einem Methodenanbieter exportiert wird.
GetObjectText_ Ruft die Textdarstellung des Objekts (MOF-Syntax) ab.
Instances_ Gibt eine Auflistung von Instanzen des Objekts zurück (die eine WMI-Klasse sein muss).
InstancesAsync_ Gibt asynchron eine Auflistung von Instanzen des Objekts zurück (die eine WMI-Klasse sein muss).
Put_ Erstellt oder aktualisiert das Objekt in WMI.
PutAsync_ Erstellt oder aktualisiert das Objekt asynchron in WMI.
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 (die eine WMI-Klasse sein muss).
SpawnInstance_ Erstellt eine neue Instanz aus dem aktuellen Objekt.
Subclasses_ Gibt eine Auflistung von Unterklassen des Objekts zurück (die eine WMI-Klasse sein muss).
SubclassesAsync_ Gibt asynchron eine Auflistung von Unterklassen des Objekts zurück (die eine WMI-Klasse sein muss).

Eigenschaften

Das SWbemObject-Objekt weist diese Eigenschaften auf.

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 , das die Auflistung von Methoden für dieses Objekt ist.
Path_
Schreibgeschützt
Enthält ein SWbemObjectPath -Objekt, das den Objektpfad der aktuellen Klasse oder Instanz darstellt.
Properties_
Schreibgeschützt
Ein SWbemPropertySet-Objekt , das die Auflistung von Eigenschaften für dieses Objekt ist.
Qualifiers_
Schreibgeschützt
Ein SWbemQualifierSet-Objekt , das die Auflistung von Qualifizierern für dieses Objekt ist.
Security_
Schreibgeschützt
Enthält ein SWbemSecurity-Objekt , das zum Lesen oder Ändern der Sicherheitseinstellungen verwendet wird.

Beispiele

Das Codebeispiel "Alle Eigenschaften und Methoden" für einen WMI-Klassen-VBScript-Codebeispiel in TechNet Gallery verwendet das SWbemObject, um alle Methoden und Eigenschaften für eine angegebene WMI-Klasse auflisten zu können.

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

Weitere Informationen

SWbemObjectEx

Skripting-API-Objekte