Condividi tramite


Come chiamare un metodo della classe oggetto Configuration Manager usando WMI

Per chiamare un metodo della classe provider SMS, in Configuration Manager si usa il metodo ExecMethod dell'oggetto SWbemServices per chiamare i metodi definiti dalla classe .

Nota

Per chiamare un metodo in un'istanza dell'oggetto, chiamare direttamente il metodo dall'oggetto . Ad esempio, ObjectInstance.MethodName parameters.

Per chiamare un metodo di classe oggetto Configuration Manager

  1. Configurare una connessione al provider SMS. Per altre informazioni, vedere Nozioni fondamentali sul provider SMS.

  2. Usando SWbemServices ottenuto nel passaggio 1, chiamare Get per ottenere la definizione della classe.

  3. Creare i parametri di input come SWbemMethodSet.

  4. Usando l'istanza dell'oggetto SWbemServices, chiamare ExecMethod e specificare il nome della classe e i parametri di input.

  5. Recuperare il valore restituito dal metodo dalla proprietà ReturnValue nell'oggetto SWbemObject restituito.

Esempio

Nell'esempio seguente viene convalidata una query sulle regole di raccolta chiamando il metodo della classe ValidateQuerydella classe SMS_CollectionRuleQuery.

Per informazioni sulla chiamata del codice di esempio, vedere Chiamata di frammenti di codice 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  

Questo metodo di esempio include i parametri seguenti:

Parametro Tipo Descrizione
connection - Gestito: SWbemServices Connessione valida al provider SMS.
wqlQuery - String Stringa di query WQL. Per questo esempio, SELECT * FROM SMS_R_System è una query valida.

Compilazione del codice

Vedere anche

Strumentazione gestione Windows
Panoramica degli oggettiCome connettersi a un provider SMS in Configuration Manager tramite WMI
Come creare un oggetto Configuration Manager tramite WMI
Come eliminare un oggetto Configuration Manager tramite WMI
Come modificare un oggetto Configuration Manager tramite WMI
Come eseguire una query Configuration Manager asincrona usando WMI
Come eseguire una query di Configuration Manager sincrona tramite WMI
Come leggere un oggetto Configuration Manager tramite WMI
Come leggere le proprietà lazy usando WMI