SWbemServices.Get 方法

SWbemServices物件的Get方法會根據物件路徑擷取類別定義或實例的物件。 這個方法只會從與目前 SWbemServices 物件相關聯的命名空間擷取物件。

方法會在同步模式中呼叫。 如需詳細資訊,請參閱 呼叫方法

如需此語法的說明,請參閱 腳本 API 的檔慣例

語法

objWbemObject = .Get( _
  [ ByVal strObjectPath ], _
  [ ByVal iFlags ], _
  [ ByVal objWbemNamedValueSet ] _
)

參數

strObjectPath [選擇性]

包含要擷取之物件之物件路徑的字串。 如果這個值是空的,傳回的空白物件可能會成為新的類別。 如需詳細資訊,請參閱 描述 WMI 物件的位置

iFlags [選擇性]

決定查詢行為的整數。 此參數可以接受下列值。

wbemFlagUseAmendedQualifiers (131072 (0x20000) )

讓 WMI 使用基類定義傳回類別增修條款資料。 如需修改限定詞的詳細資訊,請參閱 當地語系化 WMI 類別資訊

objWbemNamedValueSet [選擇性]

一般而言,這是未定義的。 否則,這是 SWbemNamedValueSet 物件,其元素代表服務要求的提供者可以使用的內容資訊。 支援或需要這類資訊的提供者必須記載已辨識的值名稱、值的資料類型、允許的值和語意。

傳回值

如果成功,這個方法會傳回代表所要求物件的 SWbemObject 物件。

錯誤碼

完成 Get 方法之後, Err 物件可能會包含下列清單中的其中一個錯誤碼。

wbemErrAccessDenied - 2147749891 (0x80041003)

目前使用者沒有存取物件的許可權。

wbemErrFailed - 2147749889 (0x80041001)

未指定的錯誤。

wbemErrInvalidParameter - 2147749896 (0x80041008)

指定的參數無效。

wbemErrInvalidObjectPath - 2147749946 (0x8004103A)

指定的路徑無效。

wbemErrNotFound - 2147749890 (0x80041002)

找不到要求的物件。

wbemErrOutOfMemory - 2147749894 (0x80041006)

記憶體不足,無法完成作業。

備註

不同于 ExecQueryInstancesOf 方法,Get 方法一律會傳回 SWbemObject ,代表 WMI 管理資源的特定實例。 若要使用 Get 方法取得 WMI 管理資源的特定實例,您必須指示 Get 實例藉由傳遞物件路徑來擷取方法,如下列腳本所示。

strComputer = "."
Set objSWbemServices = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
Set objSWbemObject = objSWbemServices.Get("Win32_Service.Name='Messenger'")
Wscript.Echo "Name:         " & objSWbemObject.Name        & vbCrLf & _
             "Display Name: " & objSWbemObject.DisplayName & vbCrLf & _
             "Start Mode:   " & objSWbemObject.StartMode   & vbCrLf & _
             "State:        " & objSWbemObject.State

您可以使用這個方法來取得 單一 物件,例如 __CIMOMIdentification,其中包含執行中 WMI 安裝的版本資訊。

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

規格需求

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

另請參閱

SWbemServices

SWbemObject