Compartilhar via


How to Call a Configuration Manager Object Class Method by Using WMI (Como Chamar um Método de Classe de Objeto Configuration Manager com a WMI)

Para chamar um método de classe fornecedor de SMS, no Configuration Manager, utilize o método ExecMethod do objeto SWbemServices para chamar métodos definidos pela classe .

Observação

Para chamar um método numa instância de objeto, chame o método diretamente do objeto. Por exemplo, ObjectInstance.MethodName parameters.

Para chamar um método de classe de objeto Configuration Manager

  1. Configure uma ligação ao Fornecedor de SMS. Para obter mais informações, veja Noções básicas do Fornecedor de SMS.

  2. Com o SWbemServices que obtém no primeiro passo, chame Obter para obter a definição de classe.

  3. Crie os parâmetros de entrada como um SWbemMethodSet.

  4. Com a instância de objeto SWbemServices, chame ExecMethod e especifique o nome da classe e os parâmetros de entrada.

  5. Obtenha o valor de retorno do método da propriedade ReturnValue no objeto SWbemObject devolvido.

Exemplo

O exemplo seguinte valida uma consulta de regra de coleção ao chamar o método de classe SMS_CollectionRuleQueryvalidateQuery .

Para obter informações sobre como chamar o código de exemplo, veja Chamar Configuration Manager Fragmentos de Código.

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 exemplo tem os seguintes parâmetros:

Parâmetro Tipo Descrição
connection - Gerido: SWbemServices Uma ligação válida ao Fornecedor de SMS.
wqlQuery - String Uma cadeia de consulta WQL. Para este exemplo, SELECT * FROM SMS_R_System é uma consulta válida.

Compilando o código

Confira também

Descrição geral dos Objetos de Instrumentação de Gestão do WindowsHow to Connect to an SMS Provider in Configuration Manager by Using WMIHow to Create a Configuration Manager Object by Using WMIHow to Delete a Configuration Manager Object by Using WMIHow to Modify a Configuration Manager Objeto ao Utilizar a WMIComo Executar uma Consulta de Configuration Manager Assíncrona com a WMIComo Executar uma Consulta de Configuration Manager Síncrona com a WMIComo Ler uma Configuration Manager Objeto ao Utilizar a WMIComo Ler Propriedades Lentas com a WMI