Cómo llamar a un método de clase de objeto Configuration Manager mediante WMI

Para llamar a un método de clase proveedor de SMS, en Configuration Manager, se usa el método ExecMethod del objeto SWbemServices para llamar a métodos definidos por la clase .

Nota:

Para llamar a un método en una instancia de objeto, llame directamente al método desde el objeto . Por ejemplo, ObjectInstance.MethodName parameters.

Para llamar a un método de clase de objeto Configuration Manager

  1. Configure una conexión con el proveedor de SMS. Para obtener más información, consulte Aspectos básicos del proveedor de SMS.

  2. Con el SWbemServices que obtiene en el paso uno, llame a Get para obtener la definición de clase.

  3. Cree los parámetros de entrada como SWbemMethodSet.

  4. Con la instancia del objeto SWbemServices, llame a ExecMethod y especifique el nombre de clase y los parámetros de entrada.

  5. Recupere el valor devuelto del método de la propiedad ReturnValue en el objeto SWbemObject devuelto.

Ejemplo

En el ejemplo siguiente se valida una consulta de regla de colección llamando al método de clase ValidateQuery de la clase SMS_CollectionRuleQuery.

Para obtener información sobre cómo llamar al código de ejemplo, vea Llamar a fragmentos de código de 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  

Este método de ejemplo tiene los parámetros siguientes:

Parámetro Tipo Descripción
connection - Administrado: SWbemServices Una conexión válida al proveedor de SMS.
wqlQuery - String Cadena de consulta WQL. En este ejemplo, SELECT * FROM SMS_R_System es una consulta válida.

Compilar el código

Consulta también

Instrumental de administración de Windows
Información general sobrelos objetos Cómo conectarse a un proveedor de SMS en Configuration Manager mediante WMI
Creación de un objeto Configuration Manager mediante WMI
Cómo eliminar un objeto Configuration Manager mediante WMI
Cómo modificar un objeto Configuration Manager mediante WMI
Cómo realizar una consulta de Configuration Manager asincrónica mediante WMI
Cómo realizar una consulta de Configuration Manager sincrónica mediante WMI
Cómo leer un objeto Configuration Manager mediante WMI
Cómo leer propiedades diferidas mediante WMI