SWbemObject 物件

您可以使用 SWbemObject 物件的方法和屬性 來代表一個 Windows Management Instrumentation (WMI) 類別定義或物件實例。 VBScript CreateObject 呼叫無法建立這個物件。

這個物件支援兩種類型的屬性和方法。 本節中定義的是套用至所有 WMI 物件的泛型屬性和方法。 此外,這個物件會將基礎物件的屬性和方法公開為 SWbemObject 動態自動化屬性和方法。 這些屬性和方法的名稱和類型取決於基礎 WMI 物件。 如需如何公開這些動態屬性和方法的詳細資訊,請參閱 操作類別和實例資訊

從 WMI 用戶端的觀點來看,此物件一律為處理中。 寫入作業只會影響物件的本機複本,而讀取作業一律會從本機複本擷取值。 只有在使用 對 的呼叫 寫入整個物件時,才會對 WMI 執行更新SWbemObject.Put_ 方法。 如果您在 SWbemObject 物件中 修改屬性或方法,則在呼叫 SWbemObject.Put_ 之前,不會將變更寫入 WMI。

本節中定義的泛型方法和屬性名稱一律以尾端底線 (「_」) 來區分它們與基礎物件的動態 WMI 方法和屬性。

請注意, 無法使用 VBScript GetObject.method 建立 SWbemObject 。 如果您想要建立新的 ,空類別會搭配空路徑參數使用 SWbemServices.Get 此呼叫會傳回可以成為類別的空白 SWbemObject 物件。 然後,您可以為Path_ 呼叫所 傳回之 SWbemObjectPath 物件的 Class 屬性 提供類別 名稱 使用 Properties_ 方法,將屬性新增至新類別。 若要建立實例,請在新的 類別上呼叫 GetObject

下列程式碼範例示範如何取得新的類別,並將 屬性加入其中。 代表 類別的 SWbemObject 物件必須透過呼叫 Put_ 回寫至 WMI 存放庫。

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

您可以使用 CIM Studio 檢視工具來檢查存放庫,以確認新的類別和實例是否出現。 如需從存放庫移除類別和實例的範例,請參閱 SWbemServices.Delete SWbemObject.Delete_

成員

SWbemObject 物件具有下列類型的成員:

方法

SWbemObject 物件具有這些方法。

方法 描述
Associators_ 擷取 物件的關聯子。
AssociatorsAsync_ 以非同步方式擷取 物件的關聯子。
克隆_ 建立目前 物件的複本。
CompareTo_ 測試兩個 物件是否相等。
刪除_ 從 WMI 刪除物件。
DeleteAsync_ 以非同步方式從 WMI 刪除物件。
ExecMethod_ 執行方法提供者所匯出的方法。
ExecMethodAsync_ 以非同步方式執行方法提供者所匯出的方法。
GetObjectText_ 擷取物件的文字標記法(MOF 語法)。
實例_ 傳回 物件的實例集合(必須是 WMI 類別)。
InstancesAsync_ 以非同步方式傳回 物件的實例集合(這必須是 WMI 類別)。
把_ 在 WMI 中建立或更新 物件。
PutAsync_ 以非同步方式在 WMI 中建立或更新 物件。
引用_ 傳回 物件的參考。
ReferencesAsync_ 以非同步方式傳回物件的參考。
SpawnDerivedClass_ 從目前的 物件建立新的衍生類別(必須是 WMI 類別)。
SpawnInstance_ 從目前的 物件建立新的實例。
子_ 傳回 物件的子類別集合(必須是 WMI 類別)。
SubclassesAsync_ 以非同步方式傳回 物件的子類別集合(這必須是 WMI 類別)。

屬性

SWbemObject 物件具有這些屬性。

屬性 存取類型 描述
推導_
唯讀
包含字串陣列,描述 類別的衍生階層。
方法_
唯讀
SWbemMethodSet 物件,這是這個物件的方法集合。
路徑_
唯讀
包含 代表目前類別或實例之物件路徑的 SWbemObjectPath 物件。
性能_
唯讀
SWbemPropertySet 物件,此物件是這個物件的屬性集合。
限定 符_
唯讀
SWbemQualifierSet 物件,此物件是這個物件的限定詞集合。
安全_
唯讀
包含 用來讀取或變更安全性設定的 SWbemSecurity 物件。

需求

需求
最低支援的用戶端
Windows Vista
最低支援的伺服器
Windows Server 2008
標頭
Wbemdisp.h
類型程式庫
Wbemdisp.tlb
DLL
Wbemdisp.dll
CLSID
CLSID_SWbemObject
IID
IID_ISWbemObject

另請參閱

SWbemObjectEx

編寫 API 物件的腳本