Configuration Managerでクエリを作成する

Configuration Manager (現在のブランチ) に適用

この記事では、Configuration Managerでクエリを作成およびインポートする方法について説明します。

クエリを作成する

Configuration Managerでクエリを作成するには、次の手順に従います。

  1. Configuration Manager コンソールで、[監視] を選択します。

  2. [ 監視 ] ワークスペースで、[ クエリ] を選択します。 [ ホーム ] タブの [ 作成 ] グループで、[ クエリの作成] を選択します。

  3. クエリの作成ウィザードの [全般] タブで、一意の名前と、必要に応じてクエリのコメントを指定します。

  4. 新しいクエリの基礎として使用する既存のクエリをインポートする場合は、[ クエリ ステートメントのインポート] を選択します。 [ クエリの参照 ] ダイアログ ボックスで、インポートするクエリを選択し、[ OK] を選択します

  5. [ オブジェクトの種類 ] ボックスの一覧で、クエリから返すオブジェクトの種類を選択します。 次の表では、検索できるオブジェクトの種類の例をいくつか示します。

    オブジェクトの種類 説明
    システム リソース デバイスの NetBIOS 名、クライアント バージョン、クライアント IP アドレス、Active Directory Domain Services情報など、一般的なシステム属性を検索する場合に使用します。
    ユーザー リソース を使用して、ユーザー名、ユーザー グループ名、セキュリティ グループ名などの一般的なユーザー情報を検索します。
    展開 を使用して、デプロイ名、スケジュール、デプロイ対象のコレクションなど、デプロイの一般的な属性を検索します。
  6. [クエリ ステートメントの編集] を選択して、[クエリ名>ステートメントのプロパティ] ダイアログ ボックスを<開きます。

  7. [クエリ名>ステートメントのプロパティ] ダイアログ ボックスの <[全般] タブで、クエリから返される属性と表示方法を指定します。 [ 新しい ] アイコンを選択して、新しい属性を追加します。 [ クエリ言語の表示 ] を選択して、WMI クエリ言語 (WQL) でクエリを直接入力または編集することもできます。 WMI クエリの例については、この記事の 「WQL クエリの例 」セクションを参照してください。

    • 次のリファレンス ドキュメントを使用して、独自の WQL クエリを構築するのに役立ちます。
    • Configuration Manager 2010 以降では、コレクション メンバーシップのクエリを作成または編集するときに結果をプレビューできます。 [ クエリ ステートメントのプロパティ] で、緑色の三角形を選択して [ クエリ結果のプレビュー ] ウィンドウを表示します。 実行 時間の長 いクエリを停止する場合は、[停止] を選択します。
  8. [クエリ名>ステートメントのプロパティ] ダイアログ ボックスの <[条件] タブで、クエリの結果を絞り込むために使用する条件を指定します。 たとえば、 XYZ のサイト コードを持つリソースのみを返します。 クエリに対して複数の条件を構成できます。

    重要

    条件を含むクエリを作成した場合、クエリは All Systems コレクション内のすべてのデバイスを返します。

  9. [クエリ名>ステートメントのプロパティ] ダイアログ ボックスの <[結合] タブで、2 つの異なる属性のデータをクエリ結果に結合できます。 Configuration Managerクエリ結果に異なる属性を選択すると、クエリ結合が自動的に作成されますが、[結合] タブにはさらに高度なオプションが用意されています。 Configuration Managerでは、次の属性クラスがサポートされています。

    結合の種類 説明
    内部 一致する結果のみを表示します。 自動的に作成される結合によって常に使用されます。
    Left 基本属性のすべての結果と、結合属性の一致する結果のみを表示します。
    Right 結合属性のすべての結果と、基本属性の一致する結果のみを表示します。
    Full 基本属性と結合属性の両方のすべての結果を表示します。

    結合操作の使用方法の詳細については、SQL Serverドキュメントを参照してください。

  10. [OK] を選択して、[クエリ名>ステートメントの<プロパティ] ダイアログ ボックスを閉じます。

  11. クエリの作成ウィザードの [全般] タブで、クエリの結果がコレクションのメンバーに限定されていないこと、指定したコレクションのメンバーに制限されていること、またはクエリが実行されるたびにコレクションのプロンプトが表示されるように指定します。

  12. ウィザードを完了してクエリを作成します。 新しいクエリは、[監視] ワークスペースの [クエリ] ノードに表示されます。

クエリをインポートする

クエリを Configuration Manager にインポートするには、次の手順に従います。 クエリをエクスポートする方法については、「クエリ を管理する方法」を参照してください。

  1. Configuration Manager コンソールで、[監視] を選択します。

  2. [ 監視 ] ワークスペースで、[ クエリ] を選択します。 [ ホーム ] タブの [ 作成 ] グループで、[ オブジェクトのインポート] を選択します。

  3. オブジェクトのインポート ウィザードの [MOF ファイル名] ページで、[参照] を選択して、インポートするクエリを含むマネージド オブジェクト形式 (MOF) ファイルを選択します。

  4. インポートするクエリに関する情報を確認し、ウィザードを完了します。 新しいクエリは、[監視] ワークスペースの [クエリ] ノードに表示されます。

WQL クエリの例

このセクションには、階層内で使用したり、他の目的で変更したりできる WQL クエリの例が含まれています。 これらのクエリを使用するには、[クエリ ステートメントのプロパティ] ダイアログ ボックスで [クエリ言語の表示] を選択します。 次に、クエリをコピーして [ クエリ ステートメント ] フィールドに貼り付けます。

ヒント

ワイルドカード文字を使用して、 % 任意の文字列を示します。 たとえば、 %Visio% Office Visio 2010 Microsoftを返します。

Windows 10を実行するコンピューター

次のクエリを使用して、Windows 10を実行するすべてのコンピューターの NetBIOS 名とオペレーティング システムのバージョンを返します。

select SMS_R_System.NetbiosName,  
SMS_R_System.OperatingSystemNameandVersion from
SMS_R_System where
SMS_R_System.OperatingSystemNameandVersion like "%Workstation 10%"  

特定のソフトウェア パッケージがインストールされているコンピューター

次のクエリを使用して、特定のソフトウェア パッケージがインストールされているすべてのコンピューターの NetBIOS 名とソフトウェア パッケージ名を返します。 次の使用例は、Visio のバージョンがインストールされているすべてのコンピューター Microsoft返します。 をクエリするソフトウェア パッケージに置き換えます Microsoft%Visio%

ヒント

このクエリでは、Windows コントロール パネルのプログラムの一覧に表示される名前を使用して、ソフトウェア パッケージを検索します。

select SMS_R_System.NetbiosName,
SMS_G_System_ADD_REMOVE_PROGRAMS.DisplayName from
SMS_R_System inner join SMS_G_System_ADD_REMOVE_PROGRAMS on
SMS_G_System_ADD_REMOVE_PROGRAMS.ResourceId =
SMS_R_System.ResourceId where
SMS_G_System_ADD_REMOVE_PROGRAMS.DisplayName like "Microsoft%Visio%"  

特定のActive Directory Domain Services組織単位内のコンピューター

次のクエリを使用して、指定した OU 内のすべてのコンピューターの NetBIOS 名と組織単位 (OU) 名を返します。 テキスト OU Name を、クエリを実行する OU の名前に置き換えます。

select SMS_R_System.NetbiosName,
SMS_R_System.SystemOUName from
SMS_R_System where
SMS_R_System.SystemOUName = "OU Name"  

特定の NetBIOS 名を持つコンピューター

次のクエリを使用して、特定の文字列で始まるすべてのコンピューターの NetBIOS 名を返します。 この例では、クエリは、 で始まる NetBIOS 名を持つすべてのコンピューターを返します ABC

select SMS_R_System.NetbiosName from
SMS_R_System where SMS_R_System.NetbiosName like "ABC%"  

特定の種類のデバイス

デバイスの種類は、リソース クラス sms_r_systemと属性名 AgentEdition の下のConfiguration Manager データベースに格納されます。 このクエリを使用して、指定したデバイスの種類のエージェント エディションに一致するデバイスのみを取得します。

Select SMS_R_System.ClientEdition from SMS_R_System where SMS_R_System.ClientEdition = <Device ID>  

デバイス ID> には、次のいずれかの値を使用します<。

デバイスのタイプ AgentEdition の値
Windows デスクトップまたはノート PC 0
Windows ARM ベースのデバイス (Windows RTを実行) 1
Windows Mobile 6.5 2
Nokia Symbian 3
Windows Phone 4
Mac コンピューター 5
Windows Embedded 7
チップ上の Intel システム 12
Microsoft HoloLens (MDM) 15
Microsoft Surface Hub (MDM) 16

注:

この表に記載されていない値は、サポートされなくなったデバイスに関連付けられています。

たとえば、Mac コンピューターのみを返す場合は、次のクエリを使用します。

Select SMS_R_System.ClientEdition from SMS_R_System where SMS_R_System.ClientEdition = 5  

共同管理されているデバイス

select SMS_R_SYSTEM.ResourceID, SMS_R_SYSTEM.ResourceType, SMS_R_SYSTEM.Name,
SMS_R_SYSTEM.SMSUniqueIdentifier, SMS_R_SYSTEM.ResourceDomainORWorkgroup, SMS_R_SYSTEM.Client
from SMS_R_System
inner join SMS_Client_ComanagementState on SMS_Client_ComanagementState.ResourceId = SMS_R_System.ResourceId 
where SMS_Client_ComanagementState.ComgmtPolicyPresent = 1 AND SMS_Client_ComanagementState.MDMEnrolled = 1 AND MDMProvisioned = 1

次の手順

クエリを管理する方法