spezielle Abfragen Configuration Manager
Die erweiterte WMI-Abfragesprache (WQL) unterstützt Abfragen, die spezifisch für Configuration Manager Anforderungen sind. In der folgenden Tabelle werden die zusätzlichen Abfragen beschrieben, die unterstützt werden.
Array-Eigenschaft
Bestimmte Werte in einer Arrayeigenschaft.
Basisklasse
Eigenschaftswerte, die in einer Basisklasse vorhanden sind.
Prototyp
Eine Klassendefinition anstelle von Klassendaten.
Sammlungsbeschränkung
Daten, die für eine bestimmte Sammlung spezifisch sind.
Arrayeigenschaftenabfragen
Aufgrund der Natur von Arrayeigenschaften kann das Einschließen in eine erweiterte WQL-Abfrage etwas komplex sein. Betrachten Sie beispielsweise die SMS_R_System
-Klasse, die die IPAddresses
-Eigenschaft enthält. Die IPAddresses
-Eigenschaft ist ein Array, das eine oder mehrere einzelne Adressen enthält. Um Computer mit IP-Adressen abzufragen, können Sie eine der beiden folgenden Abfragen angeben.
SELECT * FROM SMS_R_System WHERE IPAddresses = "2.2.2.2"
SELECT * FROM SMS_R_System WHERE IPAddresses IN ("1.1.1.1", "2.2.2.2")
Basisklassenabfragen
Erweiterte WQL-Abfragen für eine Basisklasse geben Instanzen aus allen Unterklassen zurück. Bei abstrakten Basisklassenabfragen sind die zurückgegebenen Instanzen immer Instanzen der abgeleiteten Klassen. Die folgende Abfrage gibt z. B. Instanzen von Klassen wie SMS_SCI_Component
und SMS_SCI_Address
zurück, die Eigenschaften von SMS_SiteControlItem
erben.
SELECT * FROM SMS_SiteControlItem WHERE Sitecode="ABC"
Prototypabfragen
Mit erweitertem WQL können Sie anfordern, dass das Resultset anstelle der tatsächlichen Instanzen der Klasse eine Definition der zurückzugebenden Klasse enthält. Es gibt zwei mögliche Ergebnisse dieser Art von Abfrage. In den meisten Fällen gibt eine Prototypabfrage ein Klassenobjekt zurück, das die Definition enthält. Wenn es sich bei der Abfrage um einen JOIN-Vorgang mit mehreren Klassen in der SELECT-Anweisung handelt, gibt die Prototypabfrage eine Instanz der __Generic Klasse zurück.
Obwohl Prototypabfragen bei der Verarbeitung der Ergebnisse von JOIN-Vorgängen am nützlichsten sind, werden sie für alle Abfragen unterstützt. Um eine Klassendefinition als Resultset anzufordern, legen Sie den lFlags
Parameter in IWbemServices::ExecQuery
oder IWbemServices::ExecQueryAsync
auf WBEM_FLAG_PROTOTYPE fest.
Sammlungsbegrenzungsabfragen
Eine Configuration Manager-Sammlung ist eine Gruppierung von Ressourcen wie Computern und Benutzern. Der erweiterte WQL unterstützt Abfragen für bestimmte Sammlungen. Es gibt zwei Ansätze, die Sie verwenden können, um eine Abfrage auf eine bestimmte Sammlung zu beschränken:
Legen Sie den Kontextwert LimitToCollectionIDs auf den erforderlichen CollectionID-Wert fest. Dieser Kontextwert wird über den IWbemContext-Zeiger in der IWbemServices::ExecQuery
-Methode auf den Namen der Auflistung verfügbar gemacht.
Geben Sie einen inneren JOIN-Vorgang an, indem Sie die SMS_CollectionMember
abgeleiteten Klassen in der Abfrage verwenden, die an ExecQuery übergeben wird.
Der zweite Ansatz ist langsamer, aber er ist der einzige mögliche Ansatz, wenn Sie eine Anwendung verwenden, die den WMI-ODBC-Adapter verwendet.
Siehe auch
Configuration Manager Association-Klassen
Configuration Manager Bitfeldeigenschaften
Configuration Manager Datums- und Uhrzeitformate
Configuration Manager Eingebettete Objekte
Configuration Manager Erweiterte WMI-Abfragesprache
Übersicht über ObjekteConfiguration Manager Verzögerte Eigenschaften
Informationen zu FehlernConfiguration Manager Objektsicherheit