如何使用 WMI 调用 Configuration Manager 对象类方法
若要调用 SMS 提供程序类方法,请在 Configuration Manager 中使用 SWbemServices 对象 ExecMethod 方法调用由 类定义的方法。
注意
若要对对象实例调用方法,请直接从 对象调用 方法。 例如,ObjectInstance.MethodName parameters
。
调用 Configuration Manager 对象类方法
设置与 SMS 提供程序的连接。 有关详细信息,请参阅 SMS 提供程序基础知识。
使用在步骤 1 中获取的 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
此示例方法具有以下参数:
参数 | 类型 | 说明 |
---|---|---|
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 读取延迟属性