如何使用 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 读取延迟属性