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

Panoramica degli oggettistrumentazione gestione WindowsCome connettersi a un provider SMS in Configuration Manager tramite WMICome creare un oggetto Configuration Manager usando WMICome eliminare un oggetto Configuration Manager usando WMICome modificare un oggetto Configuration Manager oggetto utilizzando WMICome eseguire una query di Configuration Manager asincrona usando WMICome eseguire una query Configuration Manager sincrona usandowmi Come leggere un oggetto Configuration Manager object by Using WMIHow to Read Lazy Properties by Using WMI (Come leggere le proprietà lazy tramite WMI)