Lesen von faulen Eigenschaften mithilfe von verwaltetem CodeHow to Read Lazy Properties by Using Managed Code

Zum Lesen einer verzögerten Eigenschaft aus einem Configuration Manager Objekt, das in einer Abfrage zurückgegeben wird, erhalten Sie die Objektinstanz, die alle verzögerten Objekteigenschaften vom SMS-Anbieter abruft.To read a lazy property from a Configuration Manager object returned in a query, you get the object instance, which retrieves any lazy object properties from the SMS Provider.

Hinweis

Wenn Sie den vollständigen Pfad zum WMI-Objekt kennen, gibt ein Aufrufen der GetInstance -Methode das WMI-Objekt zusammen mit allen Lazy-Eigenschaften zurück.If you know the full path to the WMI object, a call to the GetInstance method returns the WMI object along with any lazy properties. Weitere Informationen finden Sie unter Vorgehens Weise beim Lesen eines Configuration Manager Objekts mit verwaltetem Code.For more information, see How to Read a Configuration Manager Object by Using Managed Code.

Weitere Informationen finden Sie unter Configuration Manager Lazy Properties.For more information, see Configuration Manager Lazy Properties.

So lesen Sie verzögerte EigenschaftenTo read lazy properties

  1. Richten Sie eine Verbindung mit dem SMS-Anbieter ein.Set up a connection to the SMS Provider. Weitere Informationen finden Sie unter Herstellen einer Verbindung mit einem SMS-Anbieter in Configuration Manager mithilfe von verwaltetem Code.For more information, see How to Connect to an SMS Provider in Configuration Manager by Using Managed Code.

  2. Verwenden Sie das queryprocessor -Objekt, um Configuration Manager Objekte abzufragen.Use QueryProcessor object to query Configuration Manager objects.

  3. Iterieren Sie die Abfrageergebnisse.Iterate through the query results.

  4. Mit dem wqlconnectionmanager , den Sie in Schritt 1 erhalten haben, rufen Sie GetInstance auf, um das iresultobject -Objekt für jedes abgefragte Objekt abzurufen, von dem Sie die verzögerten Eigenschaften abrufen möchten.Using the WqlConnectionManager you obtain in step one, call GetInstance to get the IResultObject object for each queried object that you want to get lazy properties from.

BeispielExample

Im folgenden c#-Codebeispiel werden alle SMS_Collection -Objekte abgefragt und anschließend die von der Lazy-Eigenschaft erhaltenen Regel Namen angezeigt CollectionRules .The following C# code example queries for all SMS_Collection objects and then displays rule names obtained from the CollectionRules lazy property.

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 ReadLazyProperty(WqlConnectionManager connection)  
{  
    try  
    {  
        // Query all collections.  
        IResultObject collections = connection.QueryProcessor.ExecuteQuery("Select * from SMS_Collection");  
        foreach (IResultObject collection in collections)  
        {  
            // Get the collection object and lazy properties.  
            collection.Get();  

            Console.WriteLine(collection["Name"].StringValue);  

            // Get the rules.  
            List<IResultObject> rules = collection.GetArrayItems("CollectionRules");  
            if (rules.Count == 0)  
            {  
                Console.WriteLine("No rules");  
                Console.WriteLine();  
                continue;  
            }  

            foreach (IResultObject rule in rules)  
            {  
                // Display rule names.  
                Console.WriteLine("Rule name: " + rule["RuleName"].StringValue);  
            }  

            Console.WriteLine();  
        }  
    }  
    catch (SmsQueryException ex)  
    {  
        Console.WriteLine("Failed to get collection. Error: " + ex.Message);  
        throw;  
    }  
}  

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

ParameterParameter typeType BESCHREIBUNGDescription
connection - WqlConnectionManager Eine gültige Verbindung mit dem SMS-Anbieter.A valid connection to the SMS Provider.

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 Configuration Manager Lazy-Eigenschaften Objects overview Configuration Manager Lazy Properties
Vorgehensweise beim Abrufen einer Configuration Manager-Objektklassen Methode mithilfe von verwaltetem Code How to Call a Configuration Manager Object Class Method by Using Managed Code
Vorgehensweise beim Herstellen einer Verbindung mit einem Configuration Manager Anbieter mithilfe von verwaltetem Code 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