Dela via


Anropa en Configuration Manager objektklassmetod med hjälp av WMI

Om du vill anropa en SMS Provider-klassmetod i Configuration Manager använder du metoden SWbemServices-objektetExecMethod för att anropa metoder som definieras av klassen.

Obs!

Anropa metoden från objektet direkt om du vill anropa en metod på en objektinstans. Till exempel ObjectInstance.MethodName parameters.

Anropa en Configuration Manager objektklassmetod

  1. Konfigurera en anslutning till SMS-providern. Mer information finns i grunderna för SMS-provider.

  2. Med hjälp av de SWbemServices som du får i steg ett anropar du Hämta för att hämta klassdefinitionen.

  3. Skapa indataparametrarna som en SWbemMethodSet.

  4. Med hjälp av SWbemServices-objektinstansen anropar du ExecMethod och anger klassnamnet och indataparametrarna.

  5. Hämta metodens returvärde från egenskapen ReturnValue i det returnerade SWbemObject-objektet .

Exempel

I följande exempel valideras en samlingsregelfråga genom att anropa SMS_CollectionRuleQuery klassen ValidateQuery-klassmetod .

Information om hur du anropar exempelkoden finns i Anropa Configuration Manager kodfragment.

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  

Den här exempelmetoden har följande parametrar:

Parameter Typ Beskrivning
connection – Hanterad: SWbemServices En giltig anslutning till SMS-providern.
wqlQuery - String En WQL-frågesträng. I det här exemplet SELECT * FROM SMS_R_System är en giltig fråga.

Kompilera koden

Se även

Windows Management Instrumentation
ObjektöversiktSå här ansluter du till en SMS-provider i Configuration Manager med hjälp av WMI
Så här skapar du ett Configuration Manager objekt med hjälp av WMI
Ta bort ett Configuration Manager objekt med hjälp av WMI
Ändra ett Configuration Manager objekt med hjälp av WMI
Så här utför du en asynkron Configuration Manager fråga med hjälp av WMI
Så här utför du en synkron Configuration Manager fråga med hjälp av WMI
Läsa ett Configuration Manager objekt med hjälp av WMI
Läsa lazy-egenskaper med hjälp av WMI