So rufen Sie eine Configuration Manager-Objektklassenmethode mithilfe von WMI auf

Zum Aufrufen einer SMS-Anbieterklassenmethode verwenden Sie im Configuration Manager die ExecMethod-Methode des SWbemServices-Objekts zum Aufrufen von Methoden, die von der Klasse definiert werden.

Hinweis

Um eine Methode für ein Objekt instance aufzurufen, rufen Sie die Methode direkt aus dem Objekt auf. Beispiel: ObjectInstance.MethodName parameters.

So rufen Sie eine Configuration Manager-Objektklassenmethode auf

  1. Richten Sie eine Verbindung mit dem SMS-Anbieter ein. Weitere Informationen finden Sie unter Grundlagen des SMS-Anbieters.

  2. Rufen Sie mit den SWbemServices, die Sie in Schritt eins erhalten, Get auf, um die Klassendefinition abzurufen.

  3. Erstellen Sie die Eingabeparameter als SWbemMethodSet.

  4. Rufen Sie mit der SWbemServices-Objekt-instance ExecMethod auf und geben Sie den Klassennamen und die Eingabeparameter an.

  5. Ruft den Rückgabewert der Methode aus der ReturnValue-Eigenschaft des zurückgegebenen SWbemObject-Objekts ab.

Beispiel

Im folgenden Beispiel wird eine Sammlungsregelabfrage durch Aufrufen der ValidateQuery-Klassenmethode der SMS_CollectionRuleQuery-Klasse überprüft.

Informationen zum Aufrufen des Beispielcodes finden Sie unter Aufrufen von Configuration Manager-Codeausschnitten.

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

Diese Beispielmethode hat die folgenden Parameter:

Parameter Typ Beschreibung
connection - Verwaltet: SWbemServices Eine gültige Verbindung mit dem SMS-Anbieter.
wqlQuery - String Eine WQL-Abfragezeichenfolge. Für dieses Beispiel SELECT * FROM SMS_R_System ist eine gültige Abfrage.

Kompilieren des Codes

Siehe auch

Übersicht über Objekteder Windows-VerwaltungsinstrumentationSo stellen Sie mithilfe von WMI eine Verbindung zu einem SMS-Anbieter im Configuration Managerher So erstellen Sie ein Configuration Manager-Objekt mithilfe von WMISo löschen Sie ein Configuration Manager-Objekt mithilfe von WMISo ändern Sie eine Configuration Manager-Objekt mithilfe von WMISo führen Sie eine asynchrone Configuration Manager-Abfrage mithilfe von WMIdurch So führen Sie eine synchrone Configuration Manager-Abfrage mithilfe von WMI durch Lesen eines Configuration Manager-Objekt mithilfe von WMILesen von trägen Eigenschaften mithilfe von WMI