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 eine Objektinstanz 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 der SWbemServices-Objektinstanz 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 Windows-Verwaltungsinstrumentation
Übersicht über ObjekteHerstellen einer Verbindung mit einem SMS-Anbieter in Configuration Manager mithilfe von WMI
Erstellen eines Configuration Manager-Objekts mithilfe von WMI
Löschen eines Configuration Manager-Objekts mithilfe von WMI
Ändern eines Configuration Manager-Objekts mithilfe von WMI
Ausführen einer asynchronen Configuration Manager Abfrage mithilfe von WMI
Ausführen einer synchronen Configuration Manager Abfrage mithilfe von WMI
Lesen eines Configuration Manager-Objekts mithilfe von WMI
Lesen verzögerter Eigenschaften mithilfe von WMI