Een Configuration Manager-objectklassemethode aanroepen met behulp van beheerde code

Als u een SMS Provider class method wilt aanroepen, gebruikt u in Configuration Manager de methode ExecuteMethod. U vult een woordenlijstobject met de parameters van de methode en de retourwaarde is een IResultObject-object dat het resultaat van de aanroep van de methode bevat.

Opmerking

Als u een methode wilt aanroepen voor een objectexemplaar, gebruikt u de methode ExecuteMethod voor het IResultObject-objectexemplaar .

Een objectklassemethode van een Configuration Manager-manager aanroepen

  1. Stel een verbinding in met de sms-provider. Zie Basisprincipes van sms-provider voor meer informatie.

  2. Maak de invoerparameters als een woordenlijstobject .

  3. Roep met behulp van het WqlConnectionManager-objectexemplaarExecuteMethod aan en geef de klassenaam en invoerparameters op.

  4. Haal de waarde van het methoderesultaat op uit de eigenschap ReturnValue in het geretourneerde IResultObject-object .

Voorbeeld

Het volgende voorbeeld valideert een verzamelingsregelquery door de klassemethode ValidateQueryaan te roepen van de SMS_CollectionRuleQuery klasse.

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

public void ValidateQueryRule(WqlConnectionManager connection, string wqlQuery)
{
    try
    {
        Dictionary<string,object> validateQueryParameters = new Dictionary<string,object>();

        // Add the sql query as the WQLQuery parameter.
        validateQueryParameters.Add("WQLQuery",wqlQuery);

        // Call the method
        IResultObject result=connection.ExecuteMethod("SMS_CollectionRuleQuery", "ValidateQuery", validateQueryParameters);

        if (result["ReturnValue"].BooleanValue == true)
        {
            Console.WriteLine (wqlQuery + " is a valid query");
        }
        else
        {
            Console.WriteLine (wqlQuery + " is not a valid query");
        }
     }
     catch (SmsException ex)
     {
           Console.WriteLine("Failed to validate query rule: ",ex.Message);
           throw;
     }
}

Deze voorbeeldmethode heeft de volgende parameters:

Parameter Type Beschrijving
connection - Beheerd: WqlConnectionManager Een geldige verbinding met de sms-provider.
wqlQuery - Beheerd: IResultObject Een WQL-queryreeks. In dit voorbeeld SELECT * FROM SMS_R_System staat een geldige query.

De code compileren

Naamruimten

Systeem

System.Collections.Generic

System.ComponentModel

Microsoft.ConfigurationManagement.ManagementProvider

Microsoft.ConfigurationManagement.ManagementProvider.WqlQueryEngine

bijeenkomst

microsoft.configurationmanagement.managementprovider

adminui.wqlqueryengine

Robuust programmeren

De uitzonderingen in Configuration Manager die kunnen worden verhoogd zijn SmsConnectionException en SmsQueryException. Deze kunnen samen met SmsException worden opgevangen.

Zie ook

Overzicht van objectenVerbinding maken met een Configuration Manager-provider met behulp van beheerde codeEen Configuration Manager-object maken met behulp van beheerde codeEen Configuration Manager-object wijzigen met behulp van beheerde codeEen asynchrone uitvoering uitvoeren Configuration Manager-query met behulp van beheerde codeEen synchrone Configuration Manager-query uitvoeren met behulp van beheerde codeEen Configuration Manager-object lezen met behulp van beheerde code