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 |
|
Libreria dei tipi |
|
DLL |
|
CLSID |
CLSID_SWbemObject |
IID |
IID_ISWbemObject |