Compartir a través de


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

Información general sobre los objetosde instrumentación de administración de WindowsCómo conectarse a un proveedor de SMS en Configuration Manager mediante WMICómo crear un objeto Configuration Manager mediante WMICómo eliminar un objeto Configuration Manager mediante WMICómo modificar un objeto Configuration Manager objeto mediante WMICómo realizar una consulta de Configuration Manager asincrónica mediante WMICómo realizar una consulta de Configuration Manager sincrónica mediante WMICómo leer una Configuration Manager objeto mediante WMICómo leer propiedades diferidas mediante WMI