Come chiamare un metodo di classe di oggetti di Configuration Manager tramite WMI

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

Nota

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

Per chiamare un metodo della classe di oggetti di Configuration Manager

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

  2. Utilizzando i SWbemServices ottenuti nel passaggio uno, chiamare Get per ottenere la definizione della classe.

  3. Create i parametri di input come SWbemMethodSet.

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

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

Esempio

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

Per informazioni sulla chiamata del codice di esempio, vedere Chiamata di frammenti di codice di 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 Una connessione valida al provider SMS.
wqlQuery - String Una stringa di query WQL. Per questo esempio, SELECT * FROM SMS_R_System è una query valida.

Compilazione del codice

Vedere anche

Panoramica degli oggetti di Strumentazione gestione WindowsCome connettersi a un provider SMS in Configuration Manager tramite WMICreazione di un oggetto di Configuration Manager tramite WMICome eliminare un oggetto di Configuration Manager tramite WMICome modificare un oggetto di Configuration Manager tramite WMICome eseguire una query di Configuration Manager asincrona tramite WMICome eseguire una query di Configuration Manager sincrona tramite WMICome leggere un Oggetto di Configuration Manager tramite WMICome leggere le proprietà differite tramite WMI