Lesen verzögerter Eigenschaften mithilfe von verwaltetem Code

Um eine verzögerte Eigenschaft aus einem Konfigurations-Manager Objekt zu lesen, das in einer Abfrage zurückgegeben wird, erhalten Sie das Objekt instance, das 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 Konfigurations-Manager-Objekts mithilfe von verwaltetem Code.

Weitere Informationen finden Sie unter Konfigurations-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 Konfigurations-Manager mithilfe von verwaltetem Code.

  2. Verwenden Sie das QueryProcessor-Objekt, um Konfigurations-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 Konfigurations-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 Konfigurations-Manager Ausnahmen, die ausgelöst werden können, sind SmsConnectionException und SmsQueryException. Diese können zusammen mit SmsException abgefangen werden.

Siehe auch

Übersicht über Objekte

Konfigurations-Manager Verzögerte Eigenschaften

Aufrufen einer Konfigurations-Manager-Objektklassenmethode mithilfe von verwaltetem Code

Herstellen einer Verbindung mit einem Konfigurations-Manager Anbieter mithilfe von verwaltetem Code

Erstellen eines Konfigurations-Manager-Objekts mithilfe von verwaltetem Code

Ändern eines Konfigurations-Manager-Objekts mithilfe von verwaltetem Code

Ausführen einer asynchronen Konfigurations-Manager Abfrage mithilfe von verwaltetem Code

Ausführen einer synchronen Konfigurations-Manager Abfrage mithilfe von verwaltetem Code

Lesen eines Konfigurations-Manager-Objekts mithilfe von verwaltetem Code