Lesen verzögerter Eigenschaften mithilfe von verwaltetem Code
Um eine verzögerte Eigenschaft aus einem in einer Abfrage zurückgegebenen Configuration Manager-Objekt zu lesen, rufen Sie die Objektinstanz ab, die alle verzögerten Objekteigenschaften vom SMS-Anbieter abruft.
Hinweis
Wenn Sie den vollständigen Pfad zum WMI-Objekt kennen, gibt ein Aufruf der GetInstance-Methode das WMI-Objekt zusammen mit allen verzögerten Eigenschaften zurück. Weitere Informationen finden Sie unter Lesen eines Configuration Manager-Objekts mithilfe von verwaltetem Code.
Weitere Informationen finden Sie unter Configuration Manager Verzögerte Eigenschaften.
So lesen Sie verzögerte Eigenschaften
Richten Sie eine Verbindung mit dem SMS-Anbieter ein. Weitere Informationen finden Sie unter Herstellen einer Verbindung mit einem SMS-Anbieter in Configuration Manager mithilfe von verwaltetem Code.
Verwenden Sie das QueryProcessor-Objekt, um Configuration Manager Objekte abzufragen.
Durchlaufen Sie die Abfrageergebnisse.
Rufen Sie mit dem WqlConnectionManager , den Sie in Schritt 1 abrufen, GetInstance auf, um das IResultObject-Objekt für jedes abgefragte Objekt abzurufen, von dem Sie verzögerte Eigenschaften abrufen möchten.
Beispiel
Das folgende C#-Codebeispiel fragt alle SMS_Collection -Objekte ab und zeigt dann die Regelnamen an, die von der CollectionRules
lazy-Eigenschaft abgerufen wurden.
Informationen zum Aufrufen des Beispielcodes finden Sie unter Aufrufen von Configuration Manager Codeausschnitten.
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;
}
}
Diese Beispielmethode weist die folgenden Parameter auf:
Parameter | Typ | Beschreibung |
---|---|---|
connection |
- WqlConnectionManager |
Eine gültige Verbindung mit dem SMS-Anbieter. |
Kompilieren des Codes
Namespaces
System
System.Collections.Generic
System.ComponentModel
Microsoft. ConfigurationManagement.ManagementProvider
Microsoft. ConfigurationManagement.ManagementProvider.WqlQueryEngine
Assembly
microsoft.configurationmanagement.managementprovider
adminui.wqlqueryengine
Robuste Programmierung
Die Configuration Manager Ausnahmen, die ausgelöst werden können, sind SmsConnectionException und SmsQueryException. Diese können zusammen mit SmsException abgefangen werden.
Siehe auch
Übersicht über ObjekteConfiguration Manager Verzögerte Eigenschaften
Aufrufen einer Configuration Manager-Objektklassenmethode mithilfe von verwaltetem Code
Herstellen einer Verbindung mit einem Configuration Manager Anbieter mithilfe von verwaltetem Code
Erstellen eines Configuration Manager-Objekts mithilfe von verwaltetem Code
Ändern eines Configuration Manager-Objekts mithilfe von verwaltetem Code
Ausführen einer asynchronen Configuration Manager Abfrage mithilfe von verwaltetem Code
Ausführen einer synchronen Configuration Manager Abfrage mithilfe von verwaltetem Code
Lesen eines Configuration Manager-Objekts mithilfe von verwaltetem Code