Delen via


Een Configuration Manager-objectklassemethode aanroepen met behulp van WMI

Als u een SMS Provider-klassemethode wilt aanroepen, gebruikt u in Configuration Manager de methode SWbemServices-objectExecMethod om methoden aan te roepen die zijn gedefinieerd door de klasse.

Opmerking

Als u een methode wilt aanroepen op een objectexemplaren, roept u de methode rechtstreeks vanuit het object aan. Bijvoorbeeld ObjectInstance.MethodName parameters.

Een Configuration Manager-objectklassemethode aanroepen

  1. Een verbinding met de SMS-provider instellen. Zie Basisprincipes van SMS-provider voor meer informatie.

  2. Gebruik de SWbemServices die u in stap één hebt verkregen en roep Get aan om de klassedefinitie op te halen.

  3. Maak de invoerparameters als een SWbemMethodSet.

  4. Roep execMethod aan met behulp van het SWbemServices-objectexemplaren en geef de klassenaam en invoerparameters op.

  5. Haal de retourwaarde van de methode op uit de eigenschap ReturnValue in het geretourneerde SWbemObject-object .

Voorbeeld

In het volgende voorbeeld wordt een verzamelingsregelquery gevalideerd door de SMS_CollectionRuleQuery klasse ValidateQuery-klassemethode aan te roepen.

Zie Aanroepen Configuration Manager codefragmenten voor meer informatie over het aanroepen van de voorbeeldcode.

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  

Deze voorbeeldmethode heeft de volgende parameters:

Parameter Type Beschrijving
connection - Beheerd: SWbemServices Een geldige verbinding met de SMS-provider.
wqlQuery - String Een WQL-querytekenreeks. Voor dit voorbeeld SELECT * FROM SMS_R_System is een geldige query.

De code compileren

Zie ook

Windows Management Instrumentation
Overzicht van objectenVerbinding maken met een SMS-provider in Configuration Manager met behulp van WMI
Een Configuration Manager-object maken met WMI
Een Configuration Manager-object verwijderen met WMI
Een Configuration Manager-object wijzigen met behulp van WMI
Een Asynchrone Configuration Manager-query uitvoeren met behulp van WMI
Een synchrone Configuration Manager-query uitvoeren met behulp van WMI
Een Configuration Manager-object lezen met behulp van WMI
Luie eigenschappen lezen met behulp van WMI