次の方法で共有


特殊なクエリを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::ExecQueryIWbemServices::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 オブジェクト のセキュリティ