特殊なクエリをConfiguration Managerする
拡張 WMI クエリ言語 (WQL) では、Configuration Managerニーズに固有のクエリがサポートされます。 次の表では、サポートされている追加のクエリについて説明します。
Array プロパティ
配列プロパティ内の特定の値。
基底クラス
基底クラスに存在するプロパティ値。
プロトタイプ
クラス データではなくクラス定義。
コレクション制限
特定のコレクションに固有のデータ。
配列プロパティ クエリ
拡張 WQL クエリに含める配列プロパティの性質上、やや複雑になる場合があります。 たとえば、 プロパティを SMS_R_System
含むクラスを IPAddresses
考えてみましょう。
IPAddresses
プロパティは、1 つ以上の個々のアドレスを含む配列です。 IP アドレスを持つコンピューターに対してクエリを実行するには、次の 2 つのクエリのいずれかを指定します。
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")
基本クラス クエリ
基底クラスに対する拡張 WQL クエリは、すべてのサブクラスからインスタンスを返します。 抽象基底クラス クエリの場合、返されるインスタンスは常に派生クラスのインスタンスです。 たとえば、次のクエリは、 や などの SMS_SCI_Component
クラスからインスタンスを返し SMS_SCI_Address
、 からプロパティ SMS_SiteControlItem
を継承します。
SELECT * FROM SMS_SiteControlItem WHERE Sitecode="ABC"
プロトタイプ クエリ
拡張 WQL を使用すると、結果セットに、クラスの実際のインスタンスではなく、返されるクラスの定義が含まれていることを要求できます。 この種類のクエリには、2 つの結果が考えられます。 ほとんどの場合、プロトタイプ クエリは定義を含むクラス オブジェクトを返します。 クエリが SELECT ステートメント内の複数のクラスを含む JOIN 操作である場合、プロトタイプ クエリは __Generic クラスのインスタンスを返します。
プロトタイプ クエリは、JOIN 操作の結果の処理に最も役立ちますが、すべてのクエリでサポートされます。 結果セットとしてクラス定義を要求するには、 または で IWbemServices::ExecQuery
IWbemServices::ExecQueryAsync
パラメーターを lFlags
WBEM_FLAG_PROTOTYPE に設定します。
コレクション制限クエリ
Configuration Manager コレクションは、コンピューターやユーザーなどのリソースのグループです。 拡張 WQL では、特定のコレクションに対するクエリがサポートされます。 クエリを特定のコレクションに制限するには、次の 2 つの方法があります。
LimitToCollectionIDs コンテキスト値を必要な CollectionID 値に設定します。 このコンテキスト値は、 メソッド内の IWbemContext ポインターを IWbemServices::ExecQuery
使用してコレクションの名前に使用できます。
ExecQuery に渡されるクエリで -derived クラスを SMS_CollectionMember
使用して、内部 JOIN 操作を指定します。
2 つ目の方法は低速ですが、WMI ODBC アダプターを使用するアプリケーションを使用する場合は、これが唯一可能な方法です。
関連項目
Configuration Manager関連付けクラス
Configuration Manager ビット フィールドのプロパティ
日付と時刻の形式をConfiguration Managerする
埋め込みオブジェクトのConfiguration Manager
拡張 WMI クエリ言語のConfiguration Manager
オブジェクトの概要Configuration Manager遅延プロパティ
エラーについてConfiguration Manager オブジェクト のセキュリティ