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

Översikt över Windows Management InstrumentationObjectsHow 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 med hjälp av WMISå här utför du en asynkron Configuration Manager fråga med hjälp av WMISå här utför du en synkron Configuration Manager fråga med hjälp av WMISå här läser du en Configuration Manager objekt med hjälp av WMISå här läser du Lazy-egenskaper med hjälp av WMI