SWbemObject 物件

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

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

從 WMI 用戶端的觀點來看,這個物件永遠都是同進程。 寫入作業只會影響物件的本機複本,而讀取作業一律會從本機複本取出值。 只有在使用 SWbemObject _的呼叫來寫入整個物件時,才會執行 WMI 的更新。 如果您修改 SWbemObject 物件中的屬性或方法,則在呼叫 SWbemObject _ 之前,您的變更不會寫入至 WMI。

此區段中定義的泛型方法和屬性名稱一律以尾端底線結尾 ( " _ " ) 來區別它們與基礎物件的動態 WMI 方法和屬性。

請注意, SWbemObject 無法使用 VBScript GetObject. 方法來建立。 如果您想要建立新的空白類別,請使用 SWbemServices。 Get 具有空的 path 參數。 此呼叫會傳回空的 SWbemObject 物件,該物件可以成為類別。 然後,您可以為 _ 路徑呼叫所傳回之 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。刪除_ SWbemObject。

成員

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

方法

SWbemObject 物件有這些方法。

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

屬性

SWbemObject 物件具有這些屬性。

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

範例

這份清單列出了 TechNet 資源庫上 WMI 類別 VBScript 程式碼範例的 所有屬性和方法 ,會使用 SWbemObject 來列出所指定 WMI 類別的所有方法和屬性。

規格需求

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

另請參閱

SWbemObjectEx

腳本 API 物件