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 |
|
Typbibliothek |
|
DLL |
|
CLSID |
CLSID_SWbemObject |
IID |
IID_ISWbemObject |