Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Para ler uma propriedade preguiçosa de um objeto do Gerenciador de Configurações retornado em uma consulta, você obtém a instância do objeto, que recupera todas as propriedades de objeto lentas do provedor SMS.
Observação
Se você souber o caminho completo para o objeto WMI, uma chamada para o método GetInstance retornará o objeto WMI junto com quaisquer propriedades preguiçosas. Para obter mais informações, consulte Como ler um objeto do Gerenciador de Configurações usando código gerenciado.
Para obter mais informações, consulte Propriedades lentas do Gerenciador de Configurações.
Para ler propriedades preguiçosas
Configure uma conexão com o provedor de SMS. Para obter mais informações, consulte Como se conectar a um provedor SMS no Gerenciador de Configurações usando código gerenciado.
Use o objeto QueryProcessor para consultar objetos do Gerenciador de Configurações.
Iterar pelos resultados da consulta.
Usando o WqlConnectionManager obtido na etapa um, chame GetInstance para obter o objeto IResultObject para cada objeto consultado do qual você deseja obter propriedades lentas.
Exemplo
O exemplo de código C# a seguir consulta todos os objetos SMS_Collection e exibe nomes de regra obtidos da CollectionRules propriedade lazy.
Para obter informações sobre como chamar o código de exemplo, consulte Chamando trechos de código do Gerenciador de Configurações.
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;
}
}
Este método de exemplo tem os seguintes parâmetros:
| Parâmetro | Tipo | Descrição |
|---|---|---|
connection |
WqlConnectionManager |
Uma conexão válida com o provedor de SMS. |
Compilando o código
Namespaces
System
System.Collections.Generic
System.ComponentModel
Microsoft.ConfigurationManagement.ManagementProvider
Microsoft.ConfigurationManagement.ManagementProvider.WqlQueryEngine
Assembly
Microsoft.configurationmanagement.managementprovider
adminui.wqlqueryengine
Programação robusta
As exceções do Gerenciador de Configurações que podem ser geradas são SmsConnectionException e SmsQueryException. Eles podem ser capturados junto com SmsException.
Confira também
Propriedades preguiçosas do Gerenciador de Configurações
Como chamar um método de classe de objeto do Gerenciador de Configurações usando código gerenciado
Como se conectar a um provedor do Gerenciador de Configurações usando código gerenciado
Como criar um objeto do Gerenciador de Configurações usando código gerenciado
Como modificar um objeto do Gerenciador de Configurações usando código gerenciado
Como executar uma consulta assíncrona do Gerenciador de Configurações usando código gerenciado
Como executar uma consulta síncrona do Gerenciador de Configurações usando código gerenciado
Como ler um objeto do Gerenciador de Configurações usando código gerenciado