Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Per leggere una proprietà differita da un oggetto Configuration Manager restituito in una query, si ottiene l'istanza dell'oggetto, che recupera tutte le proprietà dell'oggetto lazy dal provider SMS.
Nota
Se si conosce il percorso completo dell'oggetto WMI, una chiamata al metodo GetInstance restituisce l'oggetto WMI insieme alle proprietà lazy. Per altre informazioni, vedere Come leggere un oggetto Configuration Manager usando codice gestito.
Per altre informazioni, vedere Configuration Manager Proprietà lazy.
Per leggere le proprietà lazy
Configurare una connessione al provider SMS. Per altre informazioni, vedere Come connettersi a un provider SMS in Configuration Manager tramite codice gestito.
Utilizzare l'oggetto QueryProcessor per eseguire query su oggetti Configuration Manager.
Scorrere i risultati della query.
Usando WqlConnectionManager ottenuto nel passaggio 1, chiamare GetInstance per ottenere l'oggetto IResultObject per ogni oggetto sottoposto a query da cui si vogliono ottenere proprietà lazy.
Esempio
Nell'esempio di codice C# seguente vengono eseguite query per tutti gli oggetti SMS_Collection e quindi vengono visualizzati i nomi delle regole ottenuti dalla proprietà differita CollectionRules .
Per informazioni sulla chiamata del codice di esempio, vedere Chiamata di frammenti di codice Configuration Manager.
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;
}
}
Questo metodo di esempio include i parametri seguenti:
| Parametro | Tipo | Descrizione |
|---|---|---|
connection |
- WqlConnectionManager |
Connessione valida al provider SMS. |
Compilazione del codice
Spazi dei nomi
Sistema
System.Collections.Generic
System.ComponentModel
Microsoft.ConfigurationManagement.ManagementProvider
Microsoft.ConfigurationManagement.ManagementProvider.WqlQueryEngine
Assembly
microsoft.configurationmanagement.managementprovider
adminui.wqlqueryengine
Programmazione efficiente
Le eccezioni Configuration Manager che possono essere generate sono SmsConnectionException e SmsQueryException. Questi possono essere intercettati insieme a SmsException.
Vedere anche
Panoramica degli oggettiConfiguration Manager Proprietà lazyCome chiamare un metodo della classe oggetto Configuration Manager tramite codice gestitoCome connettersi a un provider di Configuration Manager usando codice gestitoCome creare un oggetto Configuration Manager object by Using Managed CodeHow to Modify a Configuration Manager Object by Using Managed CodeHow to Perform an Asynchronous Configuration Manager Query by Using Managed CodeHow to Perform a Synchronous Configuration Manager query tramite codice gestitoCome leggere un oggetto Configuration Manager usando codice gestito