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
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.
Använd QueryProcessor-objektet för att fråga Configuration Manager objekt.
Iterera genom frågeresultatet.
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