Aracılığıyla paylaş


Yönetilen Kod Kullanarak Gecikmeli Özellikleri Okuma

Sorguda döndürülen Configuration Manager nesnesinden bir tembel özelliği okumak için, SMS Sağlayıcısı'ndan tüm gecikmeli nesne özelliklerini alan nesne örneğini alırsınız.

Not

WMI nesnesinin tam yolunu biliyorsanız, GetInstance yöntemine yapılan bir çağrı, tüm gecikmeli özelliklerle birlikte WMI nesnesini döndürür. Daha fazla bilgi için bkz. Yönetilen Kod Kullanarak Configuration Manager Nesnesini Okuma.

Daha fazla bilgi için bkz. Gecikmeli Özellikler Configuration Manager.

Gecikmeli özellikleri okumak için

  1. SMS Sağlayıcısı ile bağlantı kurun. Daha fazla bilgi için bkz. Yönetilen Kod Kullanarak Configuration Manager bir SMS Sağlayıcısına Bağlanma.

  2. Configuration Manager nesneleri sorgulamak için QueryProcessor nesnesini kullanın.

  3. Sorgu sonuçlarında yineleme yapın.

  4. Birinci adımda aldığınız WqlConnectionManager'ı kullanarak, yavaş özellikler almak istediğiniz sorgulanan her nesne için IResultObject nesnesini almak için GetInstance'ı çağırın.

Örnek

Aşağıdaki C# kod örneği tüm SMS_Collection nesneleri için sorgular ve ardından gecikmeli özellikten CollectionRules alınan kural adlarını görüntüler.

Örnek kodu çağırma hakkında bilgi için bkz. Configuration Manager Kod Parçacıklarını Çağırma.

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

Bu örnek yöntem aşağıdaki parametrelere sahiptir:

Parametre Tür Açıklama
connection - WqlConnectionManager SMS Sağlayıcısına geçerli bir bağlantı.

Kodu Derleme

Ad alanları

Sistem

System.Collections.Generic

System.ComponentModel

Microsoft. ConfigurationManagement.ManagementProvider

Microsoft. ConfigurationManagement.ManagementProvider.WqlQueryEngine

Derleme

microsoft.configurationmanagement.managementprovider

adminui.wqlqueryengine

Sağlam Programlama

Oluşturulabilecek Configuration Manager özel durumlar SmsConnectionException ve SmsQueryException'dır. Bunlar SmsException ile birlikte yakalanabilir.

Ayrıca Bkz

Nesnelere genel bakışConfiguration Manager Gecikmeli Özellikler
Yönetilen Kod Kullanarak Configuration Manager Nesne Sınıfı Yöntemini Çağırma
Yönetilen Kod Kullanarak Configuration Manager Sağlayıcısına Bağlanma
Yönetilen Kod Kullanarak Configuration Manager Nesnesi Oluşturma
Yönetilen Kod Kullanarak Configuration Manager Nesnesini Değiştirme
Yönetilen Kod Kullanarak Zaman Uyumsuz Configuration Manager Sorgusu Gerçekleştirme
Yönetilen Kod Kullanarak Zaman Uyumlu Configuration Manager Sorgusu Gerçekleştirme
Yönetilen Kod Kullanarak Configuration Manager Nesnesini Okuma