次の方法で共有


特殊なクエリをConfiguration Managerする

拡張 WMI クエリ言語 (WQL) では、Configuration Managerニーズに固有のクエリがサポートされます。 次の表では、サポートされている追加のクエリについて説明します。

Array プロパティ
配列プロパティ内の特定の値。

基底クラス
基底クラスに存在するプロパティ値。

原型
クラス データではなくクラス定義。

コレクション制限
特定のコレクションに固有のデータ。

配列プロパティ クエリ

拡張 WQL クエリに含める配列プロパティの性質上、やや複雑になる場合があります。 たとえば、IPAddresses プロパティを含む SMS_R_System クラスを考えてみましょう。 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_SiteControlItemからプロパティを継承する SMS_SCI_ComponentSMS_SCI_Address などのクラスからインスタンスを返します。

SELECT * FROM SMS_SiteControlItem WHERE Sitecode="ABC"

プロトタイプ クエリ

拡張 WQL を使用すると、結果セットに、クラスの実際のインスタンスではなく、返されるクラスの定義が含まれていることを要求できます。 この種類のクエリには、2 つの結果が考えられます。 ほとんどの場合、プロトタイプ クエリは定義を含むクラス オブジェクトを返します。 クエリが SELECT ステートメント内の複数のクラスを含む JOIN 操作である場合、プロトタイプ クエリは __Generic クラスのインスタンスを返します。

プロトタイプ クエリは、JOIN 操作の結果を処理する際に最も役立ちますが、すべてのクエリでサポートされます。 結果セットとしてクラス定義を要求するには、IWbemServices::ExecQuery または IWbemServices::ExecQueryAsynclFlags パラメーターを WBEM_FLAG_PROTOTYPE に設定します。

コレクション制限クエリ

Configuration Manager コレクションは、コンピューターやユーザーなどのリソースのグループです。 拡張 WQL では、特定のコレクションに対するクエリがサポートされます。 クエリを特定のコレクションに制限するには、次の 2 つの方法があります。

LimitToCollectionIDs コンテキスト値を必要な CollectionID 値に設定します。 このコンテキスト値は、 IWbemServices::ExecQuery メソッドの IWbemContext ポインターを使用して、コレクションの名前を使用できます。

ExecQuery に渡されるクエリで SMS_CollectionMember派生クラスを使用して、内部 JOIN 操作を指定します。

2 つ目の方法は遅くなりますが、WMI ODBC アダプターを使用するアプリケーションを使用する場合にのみ可能な方法です。

関連項目

Configuration Manager関連付けクラス
Configuration Manager ビット フィールドのプロパティ
日付と時刻の形式をConfiguration Managerする
埋め込みオブジェクトのConfiguration Manager
拡張 WMI クエリ言語のConfiguration Manager
オブジェクトの概要Configuration Manager遅延プロパティ
エラーについてConfiguration Manager オブジェクト のセキュリティ