如何使用 WMI 调用 Configuration Manager 对象类方法

若要调用 SMS 提供程序类方法,请在 Configuration Manager 中使用 SWbemServices 对象 ExecMethod 方法调用由 类定义的方法。

注意

若要对对象实例调用方法,请直接从 对象调用 方法。 例如,ObjectInstance.MethodName parameters

调用 Configuration Manager 对象类方法

  1. 设置与 SMS 提供程序的连接。 有关详细信息,请参阅 SMS 提供程序基础知识

  2. 使用在步骤 1 中获取的 SWbemServices,调用 Get 以获取类定义。

  3. 将输入参数创建为 SWbemMethodSet

  4. 使用 SWbemServices 对象实例,调用 ExecMethod 并指定类名称和输入参数。

  5. 从返回的 SWbemObject 对象中的 ReturnValue 属性检索方法返回值。

示例

以下示例通过调用 SMS_CollectionRuleQueryValidateQuery 类方法来验证集合规则查询。

有关调用示例代码的信息,请参阅调用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 读取延迟属性