Dela via


Läsa lazy-egenskaper med hjälp av hanterad kod

Om du vill läsa en lazy-egenskap från ett Configuration Manager objekt som returneras i en fråga hämtar du objektinstansen, som hämtar eventuella lazy-objektegenskaper från SMS-providern.

Obs!

Om du känner till den fullständiga sökvägen till WMI-objektet returnerar ett anrop till metoden GetInstance WMI-objektet tillsammans med eventuella lata egenskaper. Mer information finns i Läsa ett Configuration Manager objekt med hjälp av hanterad kod.

Mer information finns i Configuration Manager Lazy Properties (Lata egenskaper).

Läsa lata egenskaper

  1. Konfigurera en anslutning till SMS-providern. Mer information finns i Så här ansluter du till en SMS-provider i Configuration Manager med hjälp av hanterad kod.

  2. Använd QueryProcessor-objektet för att fråga Configuration Manager objekt.

  3. Iterera genom frågeresultatet.

  4. Med hjälp av den WqlConnectionManager som du får i steg ett anropar du GetInstance för att hämta IResultObject-objektet för varje frågat objekt som du vill hämta lata egenskaper från.

Exempel

Följande C#-kodexempel frågar efter alla SMS_Collection objekt och visar sedan regelnamn som hämtats från lazy-egenskapen CollectionRules .

Information om hur du anropar exempelkoden finns i Anropa Configuration Manager kodfragment.

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

Den här exempelmetoden har följande parametrar:

Parameter Typ Beskrivning
connection - WqlConnectionManager En giltig anslutning till SMS-providern.

Kompilera koden

Namnområden

System

System.Collections.Generic

System.ComponentModel

Microsoft. ConfigurationManagement.ManagementProvider

Microsoft. ConfigurationManagement.ManagementProvider.WqlQueryEngine

Församlingen

microsoft.configurationmanagement.managementprovider

adminui.wqlqueryengine

Robust programmering

De Configuration Manager undantag som kan aktiveras är SmsConnectionException och SmsQueryException. Dessa kan fångas tillsammans med SmsException.

Se även

Översikt över objektConfiguration Manager Lazy-egenskaper
Anropa en Configuration Manager objektklassmetod med hjälp av hanterad kod
Ansluta till en Configuration Manager-provider med hanterad kod
Så här skapar du ett Configuration Manager objekt med hjälp av hanterad kod
Så här ändrar du ett Configuration Manager objekt med hjälp av hanterad kod
Så här utför du en asynkron Configuration Manager fråga med hjälp av hanterad kod
Så här utför du en synkron Configuration Manager fråga med hjälp av hanterad kod
Läsa ett Configuration Manager objekt med hjälp av hanterad kod