Freigeben über


Lesen verzögerter Eigenschaften mithilfe von verwaltetem Code

Um eine verzögerte Eigenschaft aus einem in einer Abfrage zurückgegebenen Configuration Manager-Objekt zu lesen, rufen Sie die Objektinstanz ab, die alle verzögerten Objekteigenschaften vom SMS-Anbieter abruft.

Hinweis

Wenn Sie den vollständigen Pfad zum WMI-Objekt kennen, gibt ein Aufruf der GetInstance-Methode das WMI-Objekt zusammen mit allen verzögerten Eigenschaften zurück. Weitere Informationen finden Sie unter Lesen eines Configuration Manager-Objekts mithilfe von verwaltetem Code.

Weitere Informationen finden Sie unter Configuration Manager Verzögerte Eigenschaften.

So lesen Sie verzögerte Eigenschaften

  1. Richten Sie eine Verbindung mit dem SMS-Anbieter ein. Weitere Informationen finden Sie unter Herstellen einer Verbindung mit einem SMS-Anbieter in Configuration Manager mithilfe von verwaltetem Code.

  2. Verwenden Sie das QueryProcessor-Objekt, um Configuration Manager Objekte abzufragen.

  3. Durchlaufen Sie die Abfrageergebnisse.

  4. Rufen Sie mit dem WqlConnectionManager , den Sie in Schritt 1 abrufen, GetInstance auf, um das IResultObject-Objekt für jedes abgefragte Objekt abzurufen, von dem Sie verzögerte Eigenschaften abrufen möchten.

Beispiel

Das folgende C#-Codebeispiel fragt alle SMS_Collection -Objekte ab und zeigt dann die Regelnamen an, die von der CollectionRules lazy-Eigenschaft abgerufen wurden.

Informationen zum Aufrufen des Beispielcodes finden Sie unter Aufrufen von Configuration Manager Codeausschnitten.

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 Beispielmethode weist die folgenden Parameter auf:

Parameter Typ Beschreibung
connection - WqlConnectionManager Eine gültige Verbindung mit dem SMS-Anbieter.

Kompilieren des Codes

Namespaces

System

System.Collections.Generic

System.ComponentModel

Microsoft. ConfigurationManagement.ManagementProvider

Microsoft. ConfigurationManagement.ManagementProvider.WqlQueryEngine

Assembly

microsoft.configurationmanagement.managementprovider

adminui.wqlqueryengine

Robuste Programmierung

Die Configuration Manager Ausnahmen, die ausgelöst werden können, sind SmsConnectionException und SmsQueryException. Diese können zusammen mit SmsException abgefangen werden.

Siehe auch

Übersicht über ObjekteConfiguration Manager Verzögerte Eigenschaften
Aufrufen einer Configuration Manager-Objektklassenmethode mithilfe von verwaltetem Code
Herstellen einer Verbindung mit einem Configuration Manager Anbieter mithilfe von verwaltetem Code
Erstellen eines Configuration Manager-Objekts mithilfe von verwaltetem Code
Ändern eines Configuration Manager-Objekts mithilfe von verwaltetem Code
Ausführen einer asynchronen Configuration Manager Abfrage mithilfe von verwaltetem Code
Ausführen einer synchronen Configuration Manager Abfrage mithilfe von verwaltetem Code
Lesen eines Configuration Manager-Objekts mithilfe von verwaltetem Code