Condividi tramite


Oggetto SWbemObject

È possibile utilizzare i metodi e le proprietà dell'oggetto SWbemObject per rappresentare una definizione di classe o un'istanza dell'oggetto di Strumentazione gestione Windows (WMI). Questo oggetto non può essere creato dalla chiamata a VBScript CreateObject .

Questo oggetto supporta due tipi di proprietà e metodi. Quelli definiti in questa sezione sono proprietà e metodi generici che si applicano a tutti gli oggetti WMI. Inoltre, questo oggetto espone le proprietà e i metodi dell'oggetto sottostante come proprietà e metodi di automazione dinamica di SWbemObject. I nomi e i tipi di queste proprietà e metodi dipendono dall'oggetto WMI sottostante. Per altre informazioni su come vengono esposte queste proprietà dinamiche e metodi, vedere Modifica delle informazioni sulle classi e sulle istanze.

Dal punto di vista del client WMI, questo oggetto è sempre in-process. Le operazioni di scrittura influiscono solo sulla copia locale dell'oggetto e le operazioni di lettura recuperano sempre i valori dalla copia locale. Aggiornamenti a WMI vengono eseguiti solo quando vengono scritti interi oggetti usando una chiamata a SWbemObject.Put_ metodo. Se si modificano le proprietà o i metodi in un oggetto SWbemObject, le modifiche non vengono scritte in WMI finché non si chiama SWbemObject.Put_.

I nomi di proprietà e metodi generici definiti in questa sezione terminano sempre con un carattere di sottolineatura finale ("_") per distinguerli dai metodi WMI dinamici e dalle proprietà dell'oggetto sottostante.

Si noti che non è possibile creare SWbemObject usando il metodo GETObject.VBScript. Se si vuole creare una nuova classe vuota, usare SWbemServices.Get con un parametro di percorso vuoto. Questa chiamata restituisce un oggetto SWbemObject vuoto che può diventare una classe. È quindi possibile specificare un nome di classe per la proprietà Class dell'oggetto SWbemObjectPath restituito dalla chiamata Path_. Aggiungere proprietà alla nuova classe dal metodo Properties_. Per creare un'istanza, chiamare GetObject nella nuova classe.

Nell'esempio di codice seguente viene illustrato come ottenere una nuova classe e aggiungervi una proprietà. L'oggetto SWbemObject che rappresenta la classe deve essere riscritto nel repository WMI tramite una chiamata a Put_.

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

È possibile esaminare il repository con uno strumento di visualizzazione, ad esempio CIM Studio , per verificare che venga visualizzata la nuova classe e la nuova istanza. Per un esempio di rimozione di una classe e di un'istanza dal repository, vedere SWbemServices.Delete o SWbemObject.Delete_.

Membri

L'oggetto SWbemObject ha questi tipi di membri:

Metodi

L'oggetto SWbemObject dispone di questi metodi.

Metodo Descrizione
Associators_ Recupera gli associati dell'oggetto .
AssociatorsAsync_ Recupera in modo asincrono gli associatiri dell'oggetto .
Clone_ Crea una copia dell'oggetto corrente.
CompareTo_ Verifica l'uguaglianza di due oggetti .
Elimina_ Elimina l'oggetto da WMI.
DeleteAsync_ Elimina in modo asincrono l'oggetto da WMI.
ExecMethod_ Esegue un metodo esportato da un provider di metodi.
ExecMethodAsync_ Esegue in modo asincrono un metodo esportato da un provider di metodi.
GetObjectText_ Recupera la rappresentazione testuale dell'oggetto (sintassi MOF).
Istanze_ Restituisce un insieme di istanze dell'oggetto , che deve essere una classe WMI.
InstancesAsync_ Restituisce in modo asincrono una raccolta di istanze dell'oggetto , che deve essere una classe WMI.
Mettere_ Crea o aggiorna l'oggetto in WMI.
PutAsync_ Crea o aggiorna in modo asincrono l'oggetto in WMI.
Riferimenti_ Restituisce riferimenti all'oggetto .
ReferencesAsync_ Restituisce in modo asincrono riferimenti all'oggetto .
SpawnDerivedClass_ Crea una nuova classe derivata dall'oggetto corrente (che deve essere una classe WMI).
SpawnInstance_ Crea una nuova istanza dall'oggetto corrente.
Sottoclassi_ Restituisce un insieme di sottoclassi dell'oggetto , che deve essere una classe WMI.
SubclassesAsync_ Restituisce in modo asincrono una raccolta di sottoclassi dell'oggetto (che deve essere una classe WMI).

Proprietà

L'oggetto SWbemObject ha queste proprietà.

Proprietà Tipo di accesso Descrizione
Derivazione_
Sola lettura
Contiene una matrice di stringhe che descrive la gerarchia di derivazione per la classe .
Metodi_
Sola lettura
Oggetto SWbemMethodSet che rappresenta l'insieme di metodi per questo oggetto.
Percorso_
Sola lettura
Contiene un oggetto SWbemObjectPath che rappresenta il percorso dell'oggetto della classe o dell'istanza corrente.
Proprietà_
Sola lettura
Oggetto SWbemPropertySet che rappresenta l'insieme di proprietà per questo oggetto.
Qualificazioni_
Sola lettura
Oggetto SWbemQualifierSet che rappresenta l'insieme di qualificatori per questo oggetto.
Sicurezza_
Sola lettura
Contiene un oggetto SWbemSecurity utilizzato per leggere o modificare le impostazioni di sicurezza.

Requisiti

Requisito Valore
Client minimo supportato
Windows Vista
Server minimo supportato
Windows Server 2008
Intestazione
Wbemdisp.h
Libreria dei tipi
Wbemdisp.tlb
DLL
Wbemdisp.dll
CLSID
CLSID_SWbemObject
IID
IID_ISWbemObject

Vedi anche

SWbemObjectEx

Scripting di oggetti API