如何使用 WMI 呼叫Configuration Manager物件類別方法
若要呼叫 SMS 提供者類別方法,在Configuration Manager中,您可以使用SWbemServices物件ExecMethod方法來呼叫 類別所定義的方法。
注意事項
若要在物件實例上呼叫方法,請直接從 物件呼叫 方法。 例如,ObjectInstance.MethodName parameters
。
呼叫Configuration Manager物件類別方法
設定與 SMS 提供者的連線。 如需詳細資訊,請 參閱 SMS 提供者基本概念。
使用您在第一個步驟中取得的 SWbemServices,呼叫 Get 以取得類別定義。
將輸入參數建立為 SWbemMethodSet。
使用 SWbemServices 物件實例,呼叫 ExecMethod 並指定類別名稱和輸入參數。
從傳回之SWbemObject物件中的ReturnValue屬性擷取方法傳回值。
範例
下列範例會呼叫 SMS_CollectionRuleQuery 類別 ValidateQuery 類別方法來驗證集合規則查詢。
如需呼叫範例程式碼的相關資訊,請參閱呼叫Configuration Manager程式碼片段。
Sub ValidateQueryRule(connection, wqlQuery)
Dim inParams
Dim outParams
Dim collectionRuleClass
On Error Resume Next
' Obtain the class definition object of a SMS_CollectionRuleQuery object.
Set collectionRuleClass = connection.Get("SMS_CollectionRuleQuery")
If Err.Number<>0 Then
Wscript.Echo "Couldn't get collection rule query object"
Exit Sub
End If
' Set up the in parameter.
Set inParams = collectionRuleClass.Methods_("ValidateQuery").InParameters.SpawnInstance_
inParams.WQLQuery = wqlQuery
If Err.Number<>0 Then
Wscript.Echo "Couldn't get in parameters object"
Exit Sub
End If
' Call the method.
Set outParams = _
connection.ExecMethod( "SMS_CollectionRuleQuery", "ValidateQuery", inParams)
If Err.Number<>0 Then
Wscript.Echo "Couldn't run method"
Exit Sub
End If
If outParams.ReturnValue = True Then
Wscript.Echo "Valid query"
Else
WScript.Echo "Not a valid query"
End If
End Sub
此範例方法具有下列參數:
參數 | Type | 描述 |
---|---|---|
connection |
- 受控: SWbemServices | SMS 提供者的有效連線。 |
wqlQuery |
- String |
WQL 查詢字串。 在此範例中, SELECT * FROM SMS_R_System 是有效的查詢。 |
正在編譯程式碼
另請參閱
Windows Management Instrumentation
物件概觀如何使用 WMI 在 Configuration Manager 中連線到 SMS 提供者
如何使用 WMI 建立Configuration Manager物件
如何使用 WMI 刪除Configuration Manager物件
如何使用 WMI 修改Configuration Manager物件
如何使用 WMI 執行非同步Configuration Manager查詢
如何使用 WMI 執行同步Configuration Manager查詢
如何使用 WMI 讀取Configuration Manager物件
如何使用 WMI 讀取延遲屬性