Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Pour lire une propriété différée à partir d’un objet Configuration Manager renvoyé dans une requête, vous obtenez l’instance de l’objet, qui récupère les propriétés d’objet différé du fournisseur SMS.
Remarque
Si vous connaissez le chemin d’accès complet à l’objet WMI, un appel à la méthode GetInstance renvoie l’objet WMI ainsi que toutes les propriétés différées. Pour plus d’informations, voir Comment lire un objet Configuration Manager à l’aide de code managé.
Pour plus d’informations, consultez Propriétés différées du Configuration Manager.
Pour lire les propriétés différées
Établissez une connexion au fournisseur SMS. Pour plus d’informations, voir Comment se connecter à un fournisseur SMS dans le Configuration Manager à l’aide du code managé.
Utilisez l’objet QueryProcessor pour interroger des objets Configuration Manager.
Parcourez les résultats de la requête.
À l’aide de WqlConnectionManager que vous avez obtenu à la première étape, appelez GetInstance pour obtenir l’objet IResultObject pour chaque objet interrogé à partir duquel vous souhaitez obtenir des propriétés différées.
Exemple
L’exemple de code C# suivant interroge tous les objets SMS_Collection , puis affiche les noms de règle obtenus à partir de la CollectionRules propriété lazy .
Pour plus d’informations sur l’appel de l’exemple de code, consultez Appel d’extraits de code de 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;
}
}
Cet exemple de méthode contient les paramètres suivants :
| Paramètre | Type | Description |
|---|---|---|
connection |
WqlConnectionManager |
Connexion valide au fournisseur SMS. |
Compilation du code
Espaces de noms
Système
System.Collections.Generic
System.ComponentModel
Microsoft.ConfigurationManagement.ManagementProvider
Microsoft.ConfigurationManagement.ManagementProvider.WqlQueryEngine
Assembly
Microsoft.configurationmanagement.managementprovider
adminui.wqlqueryengine
Programmation robuste
Les exceptions du Configuration Manager qui peuvent être levées sont SmsConnectionException et SmsQueryException. Ceux-ci peuvent être interceptés avec SmsException.
Voir aussi
Propriétés différées de Configuration Manager
Comment appeler une méthode de classe d’objet Configuration Manager à l’aide de code managé
Comment se connecter à un fournisseur de Configuration Manager à l’aide de code managé
Comment créer un objet Configuration Manager à l’aide de code managé
Comment modifier un objet Configuration Manager à l’aide de code managé
Procédure pour exécuter une requête Configuration Manager asynchrone à l’aide de code managé
Procédure pour exécuter une requête Configuration Manager synchrone à l’aide de code managé
Comment lire un objet Configuration Manager à l’aide de code managé