Luie eigenschappen lezen met behulp van beheerde code
Als u een luie eigenschap wilt lezen van een Configuration Manager object dat in een query wordt geretourneerd, krijgt u het objectexemplaren, waarmee eventuele luie objecteigenschappen van de SMS-provider worden opgehaald.
Opmerking
Als u het volledige pad naar het WMI-object kent, retourneert een aanroep van de methode GetInstance het WMI-object, samen met eventuele luie eigenschappen. Zie How to Read a Configuration Manager Object by Using Managed Code (Een Configuration Manager-object lezen met behulp van beheerde code) voor meer informatie.
Zie Configuration Manager Luie eigenschappen voor meer informatie.
Luie eigenschappen lezen
Een verbinding met de SMS-provider instellen. Zie Verbinding maken met een SMS-provider in Configuration Manager met behulp van beheerde code voor meer informatie.
Gebruik het object QueryProcessor om een query uit te voeren op Configuration Manager objecten.
Doorloop de queryresultaten.
Met behulp van de WqlConnectionManager die u in stap één hebt verkregen, roept u GetInstance aan om het IResultObject-object op te halen voor elk opgevraagd object waaruit u luie eigenschappen wilt ophalen.
Voorbeeld
In het volgende C#-codevoorbeeld worden query's uitgevoerd op alle SMS_Collection-objecten en worden vervolgens regelnamen weergegeven die zijn verkregen uit de CollectionRules
luie eigenschap.
Zie Aanroepen Configuration Manager codefragmenten voor meer informatie over het aanroepen van de voorbeeldcode.
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;
}
}
Deze voorbeeldmethode heeft de volgende parameters:
Parameter | Type | Beschrijving |
---|---|---|
connection |
- WqlConnectionManager |
Een geldige verbinding met de SMS-provider. |
De code compileren
Naamruimten
Systeem
System.Collections.Generic
System.ComponentModel
Microsoft. ConfigurationManagement.ManagementProvider
Microsoft. ConfigurationManagement.ManagementProvider.WqlQueryEngine
Vergadering
microsoft.configurationmanagement.managementprovider
adminui.wqlqueryengine
Robuust programmeren
De Configuration Manager uitzonderingen die kunnen worden gegenereerd, zijn SmsConnectionException en SmsQueryException. Deze kunnen samen met SmsException worden gevangen.
Zie ook
Overzicht van objectenConfiguration Manager Luie eigenschappen
Een Configuration Manager-objectklassemethode aanroepen met behulp van beheerde code
Verbinding maken met een Configuration Manager-provider met behulp van beheerde code
Een Configuration Manager-object maken met behulp van beheerde code
Een Configuration Manager-object wijzigen met behulp van beheerde code
Een asynchrone Configuration Manager-query uitvoeren met behulp van beheerde code
Een synchrone Configuration Manager-query uitvoeren met behulp van beheerde code
Een Configuration Manager-object lezen met behulp van beheerde code