Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Als u een lazy eigenschap wilt lezen uit een Configuration Manager-object dat wordt geretourneerd in een query, krijgt u het objectexemplaar, dat eventuele lazy object-eigenschappen ophaalt bij de sms-provider.
Opmerking
Als u het volledige pad naar het WMI-object kent, wordt via een aanroep van de methode GetInstance het WMI-object geretourneerd, samen met eventuele luie eigenschappen. Zie Een Configuration Manager object lezen met behulp van beheerde code.
Zie Luie eigenschappen van Configuration Manager voor meer informatie.
Informatie over luie eigenschappen
Stel een verbinding in met de sms-provider. Zie voor meer informatie Verbinding maken met een sms-provider in Configuration Manager met behulp van beheerde code.
Gebruik het QueryProcessor-object om een query uit te voeren op Configuration Manager-objecten.
Herhaal de queryresultaten.
Met behulp van de WqlConnectionManager die u in stap één verkrijgt, roept u GetInstance aan om het IResultObject-object op te halen voor elk gequeryd object waarvan u luie eigenschappen wilt ophalen.
Voorbeeld
De volgende C#-codevoorbeeldquery's voor alle SMS_Collection objecten en geeft vervolgens regelnamen weer die zijn verkregen uit de CollectionRules eigenschap Lazy.
Zie Codefragmenten van Configuration Manager aanroepen 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
bijeenkomst
Microsoft.configurationmanagement.managementprovider
adminui.wqlqueryengine
Robuust programmeren
De uitzonderingen in Configuration Manager die kunnen worden verhoogd zijn SmsConnectionException en SmsQueryException. Deze kunnen samen met SmsException worden opgevangen.
Zie ook
Lazy eigenschappen van Configuration Manager
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