Freigeben über


Aufrufen einer Configuration Manager-Objektklassenmethode mithilfe von WMI

Um eine SMS Provider-Klassenmethode aufzurufen, verwenden Sie in Configuration Manager die ExecMethod-Methode des SWbemServices-Objekts, um von der -Klasse definierte Methoden aufzurufen.

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 mithilfe der SWbemServices, die Sie in Schritt 1 abgerufen haben, Get auf, um die Klassendefinition abzurufen.

  3. Erstellen Sie die Eingabeparameter als SWbemMethodSet.

  4. Rufen Sie mithilfe des SWbemServices-Objekts instance ExecMethod auf, und geben Sie den Klassennamen und die Eingabeparameter an.

  5. Rufen Sie den Rückgabewert der Methode aus der ReturnValue-Eigenschaft im zurückgegebenen SWbemObject-Objekt ab.

Beispiel

Im folgenden Beispiel wird eine Sammlungsregelabfrage überprüft, indem die SMS_CollectionRuleQuery Klasse ValidateQuery-Klassenmethode aufgerufen wird.

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 weist die folgenden Parameter auf:

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

Kompilieren des Codes

Siehe auch

Windows Management InstrumentationObjects overviewHow to Connect to an SMS Provider in Configuration Manager by Using WMIHow to Create a Configuration Manager Object by Using WMIHow to Delete a Configuration Manager Object by Using WMIHow to Modify a Configuration Manager-Objekt mithilfe von WMIAusführen einer asynchronen Configuration Manager Abfrage mithilfe von WMIAusführen einer synchronen Configuration Manager Abfrage mithilfe von WMIVorgehensweise: Lesen einer Configuration Manager-Objekt mithilfe von WMILesen verzögerter Eigenschaften mithilfe von WMI