Compartilhar via


Como chamar um método de classe de objeto Configuration Manager usando o WMI

Para chamar um método de classe provedor de SMS, em Configuration Manager, use o método ExecMethod do objeto SWbemServices para chamar métodos definidos pela classe.

Observação

Para chamar um método em uma 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 conexão com o Provedor de SMS. Para obter mais informações, confira Os fundamentos do Provedor de SMS.

  2. Usando os SWbemServices obtidos na primeira etapa, chame Get para obter a definição de classe.

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

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

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

Exemplo

O exemplo a seguir valida uma consulta de regra de coleção chamando o método de classe ValidateQuery da classe SMS_CollectionRuleQuery.

Para obter informações sobre como chamar o código de exemplo, consulte Chamando Configuration Manager Snippets 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 – Gerenciado: SWbemServices Uma conexão válida com o provedor de SMS.
wqlQuery - String Uma cadeia de caracteres de consulta WQL. Para este exemplo, SELECT * FROM SMS_R_System é uma consulta válida.

Compilando o código

Confira também

Instrumentação de gerenciamento do Windows
Visão geral de objetoscomo conectar-se a um provedor de SMS no Configuration Manager usando o WMI
Como criar um objeto Configuration Manager usando o WMI
Como excluir um objeto Configuration Manager usando o WMI
Como modificar um objeto Configuration Manager usando o WMI
Como executar uma consulta de Configuration Manager assíncrona usando o WMI
Como executar uma consulta de Configuration Manager síncrona usando o WMI
Como ler um objeto Configuration Manager usando o WMI
Como ler propriedades preguiçosas usando o WMI