Aufrufen einer Configuration Manager-Objektklassenmethode mithilfe von verwaltetem Code aufHow to Call a Configuration Manager Object Class Method by Using Managed Code

Wenn Sie eine SMS-Anbieter Klassenmethode aufrufen möchten, verwenden Sie in Configuration Manager die executemethod -Methode.To call a SMS Provider class method, in Configuration Manager, you use the ExecuteMethod method. Sie füllen ein Dictionary -Objekt mit den Parametern der Methode auf, und der Rückgabewert ist ein iresultobject -Objekt, das das Ergebnis des Methoden Aufrufes enthält.You populate a Dictionary object with the method's parameters, and the return value is an IResultObject object that contains the result of the method call.

Hinweis

Um eine Methode für eine Objektinstanz aufzurufen, verwenden Sie die executemethod -Methode für die iresultobject -Objektinstanz.To call a method on an object instance, use the ExecuteMethod method on the IResultObject object instance.

So wenden Sie eine Configuration Manager-Objektklassen Methode anTo call a Configuration Manager object class method

  1. Richten Sie eine Verbindung mit dem SMS-Anbieter ein.Set up a connection to the SMS Provider. Weitere Informationen finden Sie unter Grundlagen des SMS-Anbieters.For more information, see SMS Provider fundamentals.

  2. Erstellen Sie die Eingabeparameter als Wörterbuch Objekt.Create the input parameters as a Dictionary object.

  3. Verwenden Sie die wqlconnectionmanager -Objektinstanz, indem Sie executemethod aufrufen und den Klassennamen und die Eingabeparameter angeben.Using the WqlConnectionManager object instance, call ExecuteMethod and specify the class name and input parameters.

  4. Rufen Sie den Rückgabewert der Methode aus der ReturnValue -Eigenschaft im zurückgegebenen iresultobject -Objekt ab.Retrieve the method return value from the ReturnValue property in the returned IResultObject object.

BeispielExample

Im folgenden Beispiel wird eine Sammlungs Regel Abfrage durch Aufrufen der validatequery -Klassenmethode SMS_CollectionRuleQuery -Klasse überprüft.The following example validates a collection rule query by calling the SMS_CollectionRuleQuery class ValidateQuery class method.

Informationen zum Aufrufen des Beispielcodes finden Sie unter Aufrufen von Configuration Manager-Codeausschnitten.For information about calling the sample code, see Calling Configuration Manager Code Snippets.

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;  
     }  
}  

Diese Beispiel Methode verfügt über die folgenden Parameter:This example method has the following parameters:

ParameterParameter typeType BESCHREIBUNGDescription
connection - Verwaltet: WqlConnectionManager- Managed: WqlConnectionManager Eine gültige Verbindung mit dem SMS-Anbieter.A valid connection to the SMS Provider.
wqlQuery -Verwaltet: iresultobject- Managed: IResultObject Eine WQL-Abfrage Zeichenfolge.A WQL query string. In diesem Beispiel SELECT * FROM SMS_R_System ist eine gültige Abfrage.For this example, SELECT * FROM SMS_R_System is a valid query.

Kompilieren des CodesCompiling the Code

NamespacesNamespaces

SystemSystem

System.Collections.GenericSystem.Collections.Generic

System.ComponentModelSystem.ComponentModel

Microsoft.ConfigurationManagement.ManagementProviderMicrosoft.ConfigurationManagement.ManagementProvider

Microsoft.ConfigurationManagement.ManagementProvider.WqlQueryEngineMicrosoft.ConfigurationManagement.ManagementProvider.WqlQueryEngine

AssemblyAssembly

microsoft.configurationmanagement.managementprovidermicrosoft.configurationmanagement.managementprovider

adminui.wqlqueryengineadminui.wqlqueryengine

Stabile ProgrammierungRobust Programming

Die Configuration Manager Ausnahmen, die ausgelöst werden können, sind smsconnectionexception und smsqueryexception.The Configuration Manager exceptions that can be raised are SmsConnectionException and SmsQueryException. Diese können mit smsexceptionabgefangen werden.These can be caught together with SmsException.

Weitere InformationenSee Also

Übersicht über Objekte Vorgehens Weise beim Herstellen einer Verbindung mit einem Configuration Manager Anbieter mithilfe von verwaltetem Code Objects overview How to Connect to a Configuration Manager Provider using Managed Code
Erstellen eines Configuration Manager Objekts mithilfe von verwaltetem Code How to Create a Configuration Manager Object by Using Managed Code
Vorgehensweise beim Ändern eines Configuration Manager Objekts mithilfe von verwaltetem Code How to Modify a Configuration Manager Object by Using Managed Code
Ausführen einer asynchronen Configuration Manager Abfrage mithilfe von verwaltetem Code How to Perform an Asynchronous Configuration Manager Query by Using Managed Code
Ausführen einer synchronen Configuration Manager Abfrage mithilfe von verwaltetem Code How to Perform a Synchronous Configuration Manager Query by Using Managed Code
Lesen eines Configuration Manager Objekts mithilfe von verwaltetem CodeHow to Read a Configuration Manager Object by Using Managed Code