Configuration Manager クライアントで管理されている Windows デスクトップおよびサーバー コンピューター用のカスタム構成項目を作成する

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

Configuration Manager クライアントによって管理されている Windows コンピューターとサーバーの設定を管理するには、Configuration Managerカスタム Windows デスクトップとサーバーの構成項目を使用します。

ウィザードを開始する

  1. Configuration Manager コンソールで、[資産とコンプライアンス] ワークスペースに移動し、[コンプライアンス設定] を展開して、[構成項目] ノードを選択します。

  2. リボンの [ ホーム ] タブの [ 作成 ] グループで、[ 構成項目の作成] を選択します。

  3. 構成項目の作成ウィザードの [全般] ページで、構成項目の名前と説明 (省略可能) を指定します。

  4. [ 作成する構成項目の種類を指定する] で、[ Windows デスクトップとサーバー (カスタム)] を選択します。

    • アプリケーションの存在を確認する検出方法の設定を指定する場合は、[ この構成ファイルにアプリケーション設定が含まれています] を選択します。
  5. Configuration Manager コンソールで構成項目を検索してフィルター処理するには、[カテゴリ] を選択してカテゴリを作成して割り当てます。

検出方法

構成項目の検出方法情報を提供するには、次の手順に従います。

注:

この情報は、ウィザードの [全般] ページで [この構成項目にアプリケーション設定が含まれている] を選択した場合にのみ適用されます。

Configuration Managerの検出方法には、アプリケーションがコンピューターにインストールされているかどうかを検出するために使用される規則が含まれています。 この検出は、クライアントが構成項目のコンプライアンスを評価する前に発生します。 アプリケーションがインストールされているかどうかを検出するには、アプリケーションの Windows インストーラー ファイルの存在を検出するか、カスタム スクリプトを使用するか、[ 常にアプリケーションがインストールされていると想定 する] を選択して、アプリケーションがインストールされているかどうかに関係なく、コンプライアンスの構成項目を評価します。

Windows インストーラー ファイルを使用してアプリケーションのインストールを検出するには

  1. 構成項目の作成ウィザードの [検出方法] ページで、[Windows インストーラー検出を使用する] オプションを選択します。

  2. [ 開く] を選択し、検出する Windows インストーラー (.msi) ファイルを参照し、[ 開く] を選択します。

  3. [ バージョン] フィールドには、Windows インストーラー ファイルのバージョン番号が自動的に設定されます。 表示される値が正しくない場合は、ここに新しいバージョン番号を入力します。

  4. コンピューター上の各ユーザー プロファイルを検出する場合 は、[このアプリケーションは 1 人以上のユーザーにインストールされています] を選択します。

特定のアプリケーションとデプロイの種類を検出するには

  1. 構成項目の作成ウィザードの [検出方法] ページで、[特定のアプリケーションと展開の種類を検出する] を選択します。 [選択] を選択します。

  2. [ アプリケーションの指定 ] ダイアログ ボックスで、検出するアプリケーションと関連付けられている展開の種類を選択します。

カスタム スクリプトを使用してアプリケーションのインストールを検出するには

Windows PowerShell スクリプトが検出方法として実行されると、Configuration Manager クライアントは パラメーターを使用して PowerShell を-NoProfile呼び出します。 このオプションは、プロファイルなしで PowerShell を起動します。 PowerShell プロファイルは、PowerShell の起動時に実行されるスクリプトです。

  1. 構成項目の作成ウィザードの [検出方法] ページで、[カスタム スクリプトを使用してこのアプリケーションを検出する] オプションを選択します。

  2. 一覧で、スクリプトの言語を選択します。 次の形式から選択します。

    • VBScript

    • JScript

    • PowerShell

  3. [ 開く] を選択し、使用するスクリプトを参照して、[ 開く] を選択します。

    重要

    署名された PowerShell スクリプトを使用する場合は、必ず [開く] を選択します。 署名されたスクリプトにコピーと貼り付けを使用することはできません。

サポートされているプラットフォームを指定する

構成項目の作成ウィザードの [サポートされているプラットフォーム] ページで、構成項目のコンプライアンスを評価する Windows バージョンを選択するか、[すべて選択] を選択します。

Windows のバージョンを手動で指定することもできます。 [ 追加] を 選択し、Windows ビルド番号の各部分を指定します。

注:

Windows Server 2016を指定する場合、 のAll Windows Server 2016 and higher 64-bit)選択には Windows Server 2019 も含まれます。 Windows Server 2016のみを指定するには、[ Windows のバージョンを手動で指定する] オプションを使用します。

設定の構成

構成項目の設定を構成するには、次の手順に従います。

設定は、クライアント デバイスのコンプライアンスを評価するために使用されるビジネスまたは技術的な条件を表します。 新しい設定を構成することも、参照コンピューター上の既存の設定を参照することもできます。

  1. 構成項目の作成ウィザード[設定] ページで、[新規] を選択します。

  2. [設定の作成] ダイアログ ボックスの [全般] タブで、次の情報を指定します。

  3. [設定の種類] ボックスの一覧で、この設定に関する追加の詳細 を構成 します。 構成できる項目は、選択した設定の種類によって異なります。

  4. [ OK] を選択 して設定を保存し、[ 設定の作成 ] ダイアログ ボックスを閉じます。

Active Directory クエリ

  • LDAP プレフィックス: クライアント コンピューターのコンプライアンスを評価するために、Active Directory Domain Services クエリに有効なプレフィックスを指定します。 グローバル カタログ検索を実行するには、 または を LDAP:// 使用します GC://

  • 識別名 (DN): クライアント コンピューターのコンプライアンスを評価するActive Directory Domain Services オブジェクトの識別名を指定します。

  • 検索フィルター: オプションの LDAP フィルターを指定して、Active Directory Domain Services クエリの結果を絞り込み、クライアント コンピューターのコンプライアンスを評価します。 クエリからすべての結果を返すには、「」と入力します (objectclass=*)

  • 検索スコープ: Active Directory Domain Servicesで検索スコープを指定します

    • Base: 指定したオブジェクトのみをクエリします

    • 1 つのレベル: このオプションは、このバージョンのConfiguration Managerでは使用されません

    • サブツリー: ディレクトリ内の指定したオブジェクトとその完全なサブツリーを照会します

  • プロパティ: クライアント コンピューターのコンプライアンスを評価するために使用するActive Directory Domain Services オブジェクトのプロパティを指定します。

    たとえば、ユーザーが誤ってパスワードを入力した回数を格納する Active Directory プロパティを照会する場合は、このフィールドに「」と入力 badPwdCount します。

  • クエリ: LDAP プレフィックス識別名 (DN)検索フィルター (指定されている場合)、 および Property のエントリから構築されたクエリを表示します。

Assembly

アセンブリは、アプリケーション間で共有できるコードの一部です。 アセンブリには、ファイル名拡張子を.dllまたは.exeできます。 グローバル アセンブリ キャッシュは、クライアント コンピューター上のフォルダー %SystemRoot%\Assembly です。 このキャッシュは、Windows がすべての共有アセンブリを格納する場所です。

  • アセンブリ名: 検索するアセンブリ オブジェクトの名前を指定します。 名前を同じ型の他のアセンブリ オブジェクトと同じにすることはできません。 まず、グローバル アセンブリ キャッシュに登録します。 アセンブリ名の長は最大 256 文字です。

ファイル システム

  • 種類: 一覧で、 ファイル とフォルダーのどちらを検索するかを選択 します

  • パス: クライアント コンピューター上の指定したファイルまたはフォルダーのパスを指定します。 パスには、システム環境変数と環境変数を %USERPROFILE% 指定できます。

    • [ファイル システム設定の種類] では、[パス] ボックスにネットワーク共有への UNC パスを指定することはできません。

    • [パス] %USERPROFILE% ボックスまたは [ファイル名] ボックスまたは [フォルダー名] ボックスで環境変数を使用する場合、Configuration Manager クライアントはクライアント コンピューター上のすべてのユーザー プロファイルを検索します。 この動作により、ファイルまたはフォルダーの複数のインスタンスが検索される可能性があります。

    • コンプライアンス設定が指定したパスにアクセスできない場合は、検出エラーが生成されます。 さらに、検索するファイルが現在使用されている場合は、検出エラーが生成されます。

      ヒント

      [ 参照] を 選択して、参照コンピューターの値から設定を構成します。

  • [ファイル名またはフォルダー名]: 検索するファイルまたはフォルダー オブジェクトの名前を指定します。 ファイル名またはフォルダー名にシステム環境変数と %USERPROFILE% 環境変数を指定できます。 ワイルドカード *? ファイル名を使用することもできます。

    • ファイル名またはフォルダー名を指定し、ワイルドカードを使用すると、この組み合わせによって結果の数が多くなる可能性があります。 また、クライアント コンピューターでのリソース使用率が高く、結果をConfiguration Managerに報告するときにネットワーク トラフィックが高くなる可能性もあります。
  • サブフォルダーを含める: 指定したパスの下にあるサブフォルダーも検索します。

  • このファイルまたはフォルダーは、64 ビット アプリケーションに関連付けられています。有効にした場合は、64 ビット コンピューターなどの %ProgramFiles% 64 ビット ファイルの場所のみを検索します。 このオプションが有効になっていない場合は、64 ビットの場所と、 などの %ProgramFiles(x86)%32 ビットの場所の両方を検索します。

    • 同じ 64 ビット コンピューター上の 64 ビットと 32 ビットの両方のシステム ファイルの場所に同じファイルまたはフォルダーが存在する場合、グローバル条件によって複数のファイルが検出されます。

IIS メタベース

  • メタベース パス: インターネット インフォメーション サービス (IIS) メタベースへの有効なパスを指定します。 たとえば、「 /LM/W3SVC/ 」のように入力します。

  • プロパティ ID: IIS メタベース設定の数値プロパティを指定します。

レジストリ キー

  • Hive: 検索するレジストリ ハイブを選択します

    • [ 参照] を 選択して、参照コンピューターの値から設定を構成します。 リモート コンピューターでレジストリ キーを参照するには、リモート コンピューターで リモート レジストリ サービスを有効にします。
  • キー: 検索するレジストリ キー名を指定します。 の形式 key\subkeyを使用します。

  • このレジストリ キーは、64 ビット アプリケーションに関連付けられています。64 ビット バージョンの Windows を実行しているクライアントの 32 ビット レジストリ キーに加えて、64 ビット レジストリ キーを検索します。

    • 同じ 64 ビット コンピューター上の 64 ビットと 32 ビットの両方のレジストリの場所に同じレジストリ キーが存在する場合、両方のレジストリ キーがグローバル条件によって検出されます。

レジストリ値

  • Hive: 検索するレジストリ ハイブを選択します。

    • [ 参照] を 選択して、参照コンピューターの値から設定を構成します。 リモート コンピューターのレジストリ値を参照するには、リモート コンピューターで リモート レジストリ サービスを有効にします。 また、リモート コンピューターにアクセスするための管理者権限も必要です。
  • キー: 検索するレジストリ キー名を指定します。 の形式 key\subkeyを使用します。

  • : 指定したレジストリ キーに含まれている必要がある値を指定します。

  • このレジストリ キーは、64 ビット アプリケーションに関連付けられています。64 ビット バージョンの Windows を実行しているクライアントの 32 ビット レジストリ キーに加えて、64 ビット レジストリ キーを検索します。

    • 同じ 64 ビット コンピューター上の 64 ビットと 32 ビットの両方のレジストリの場所に同じレジストリ キーが存在する場合、両方のレジストリ キーがグローバル条件によって検出されます。

Script

スクリプトによって返される値は、グローバル条件のコンプライアンスを評価するために使用されます。 たとえば、VBScript を使用する場合は、 WScript.Echo Result コマンドを使用して 、Result 変数の値をグローバル条件に返すことができます。 Windows PowerShellを検出スクリプトまたは修復スクリプトとして使用する場合、Configuration Manager クライアントは パラメーターを使用して PowerShell を-NoProfile呼び出します。 このオプションは、プロファイルなしで PowerShell を起動します。 PowerShell プロファイルは、PowerShell の起動時に実行されるスクリプトです。

  • 検出スクリプト: [ スクリプトの追加] を選択し、スクリプトを入力または参照します。 このスクリプトは、値を検索するために使用されます。 Windows PowerShell、VBScript、または Microsoft JScript スクリプトを使用できます。

  • 修復スクリプト (省略可能): [ スクリプトの追加] を選択し、スクリプトを入力または参照します。 このスクリプトは、非準拠の設定値を修復するために使用されます。 Windows PowerShell、VBScript、または Microsoft JScript スクリプトを使用できます。

    重要

    • 修復エラーを適切に報告するには、スクリプトで 0 以外の終了コードではなく例外をスローする必要があります。
  • ログオンしたユーザー資格情報を使用してスクリプトを実行する: このオプションを有効にすると、サインインしているユーザーの資格情報を使用するクライアント コンピューターでスクリプトが実行されます。

重要

  • 署名された PowerShell スクリプトを使用する場合は、必ず [開く] を選択します。 署名されたスクリプトにコピーと貼り付けを使用することはできません。
  • 2207 以降では、コンプライアンス設定のクライアント設定を構成するときに、スクリプト実行タイムアウト (秒) を定義できます。

SQL クエリ

  • SQL Server インスタンス: SQL クエリを既定のインスタンス、すべてのインスタンス、または指定したデータベース インスタンス名で実行するかどうかを選択します。 インスタンス名は、SQL Serverのローカル インスタンスを参照する必要があります。 SQL Server Always On フェールオーバー クラスター インスタンスまたは可用性グループを参照するには、スクリプト設定を使用します。

  • データベース: SQL クエリを実行するMicrosoft SQL Server データベースの名前を指定します。

  • : グローバル条件のコンプライアンスを評価するために使用される Transact-SQL ステートメントによって返される列名を指定します。

  • Transact-SQL ステートメント: グローバル条件に使用する完全な SQL クエリを指定します。 既存の SQL クエリを使用するには、[ 開く] を選択します。

    重要

    SQL クエリ設定では、データベースを変更する SQL コマンドはサポートされていません。 データベースから情報を読み取る SQL コマンドのみを使用できます。

WQL クエリ

  • 名前空間: クライアント コンピューターでのコンプライアンスを評価する WMI 名前空間を指定します。 既定値は root\cimv2 です。

  • クラス: 上記の名前空間でターゲット WMI クラスを指定します。

  • プロパティ: 上記のクラスでターゲット WMI プロパティを指定します。

  • WQL クエリ WHERE 句: 結果を減らす修飾句を指定します。 たとえば、Win32_Service クラスの DHCP サービスに対してのみクエリを実行するには、WHERE 句を にできます Name = 'DHCP' and StartMode = 'Auto'

XPath クエリ

  • パス: コンプライアンスの評価に使用するクライアント コンピューター上の.xml ファイルのパスを指定します。 Configuration Managerでは、すべての Windows システム環境変数とパス名のユーザー変数の%USERPROFILE%使用がサポートされています。

  • XML ファイル名: 上記のパスに XML クエリを含むファイル名を指定します。

  • サブフォルダーを含める: 指定したパスの下にあるサブフォルダーを検索するには、このオプションを有効にします。

  • このファイルは、64 ビット アプリケーションに関連付けられています。64 ビット %Windir%\System32 バージョンの Windows を実行しているクライアントの 32 ビット システム ファイルの場所に加えて、64 ビット システム ファイルの場所%Windir%\Syswow64Configuration Manager検索します。

  • XPath クエリ: 有効な完全な XML パス言語 (XPath) クエリを指定します。

  • 名前空間: XPath クエリ中に使用する名前空間とプレフィックスを識別します。

暗号化された.xmlファイルを検出しようとすると、コンプライアンス設定によってファイルが見つかりますが、XPath クエリでは結果は生成されません。 Configuration Manager クライアントはエラーを生成しません。

XPath クエリが有効でない場合、設定はクライアント コンピューターで非準拠として評価されます。

コンプライアンス 規則を構成する

コンプライアンス 規則では、構成項目のコンプライアンスを定義する条件を指定します。 コンプライアンスを評価するには、少なくとも 1 つのコンプライアンス規則が必要です。 WMI、レジストリ、スクリプトの設定を使用すると、非準拠であることが判明した値を修復できます。 新しいルールを作成するか、任意の構成項目の既存の設定を参照して、その中のルールを選択できます。

コンプライアンス規則を作成するには

  1. 構成項目の作成ウィザードの [コンプライアンス規則] ページで、[新規] を選択します。

  2. [ 規則の作成 ] ダイアログ ボックスで、次の情報を指定します。

    • [名前]: コンプライアンス 規則の名前を入力します。

    • 説明: コンプライアンス 規則の説明を入力します。

    • 選択した設定: [ 参照] を 選択して、[ 設定の選択 ] ダイアログ ボックスを開きます。 ルールを定義する設定を選択するか、[ 新しい設定] を選択します。 完了したら、[選択] を 選択します

      ヒント

      現在選択されている設定に関する情報を表示するには、[プロパティ] を選択 します

    • 規則の種類: 使用するコンプライアンス 規則の種類を選択します。

      • : 構成項目から返される値と、指定した値を比較するルールを作成します。 その他の設定の詳細については、「 値ルール」を参照してください。

      • 存在: クライアント デバイスに存在するか、検出された回数に応じて設定を評価するルールを作成します。 追加の設定の詳細については、「 存在ルール」を参照してください。

  3. [ OK] を選択 して、[ 規則の作成 ] ダイアログ ボックスを閉じます。

値ルール

  • プロパティ: 確認するオブジェクトのプロパティは、選択した設定によって異なります。 使用可能なプロパティは、設定の種類によって異なります。

  • 設定は次に従う必要があります。..: 使用可能なルールまたはアクセス許可は、設定の種類によって異なります。

  • サポートされている場合に準拠していないルールを修復する: 準拠していないルールを自動的に修復するために、Configuration Managerの場合は、このオプションを選択します。 Configuration Managerでは、次の規則の種類でこのアクションがサポートされます。

    • レジストリ値: 非準拠の場合、クライアントはレジストリ値を設定します。 存在しない場合は、クライアントによって値が作成されます。

    • スクリプト: クライアントは、設定で指定した修復スクリプトを使用します。

    • WQL クエリ

    重要

    • 修復エラーを適切に報告するには、スクリプトで 0 以外の終了コードではなく例外をスローする必要があります。
    • 修復できるのは、規則演算子が Equals に設定されている場合のみです。
  • この設定インスタンスが見つからない場合は、非準拠を報告する: クライアント コンピューターでこの設定が見つからない場合は、構成項目でこのオプションを有効にして、非準拠を報告します。

  • レポートの非準拠の重大度: このコンプライアンス規則が失敗した場合にConfiguration Managerレポートで報告される重大度レベルを指定します。 次の重大度レベルを使用できます。

    • なし
    • Information
    • Warning
    • Critical
    • 重大なイベント: このコンプライアンス 規則に失敗したコンピューターは、重大という エラーの重大度を報告します。 この重大度レベルは、アプリケーション イベント ログにも Windows イベントとして記録されます。

存在ルール

注:

表示されるオプションは、ルールを構成する設定の種類によって異なる場合があります。

  • 設定はクライアント デバイスに存在する必要があります

  • クライアント デバイスに設定を存在してはならない

  • この設定は、次の回数実行されます。

  • レポートの非準拠の重大度: このコンプライアンス規則が失敗した場合にConfiguration Managerレポートで報告される重大度レベルを指定します。 次の重大度レベルを使用できます。

    • なし
    • Information
    • Warning
    • Critical
    • 重大なイベント: このコンプライアンス 規則に失敗したコンピューターは、重大という エラーの重大度を報告します。 この重大度レベルは、アプリケーション イベント ログにも Windows イベントとして記録されます。

構成項目の修復を追跡する

(バージョン 2002 で導入)

バージョン 2002 Configuration Manager以降、構成項目のコンプライアンス規則でサポートされている場合は、修復履歴を追跡できます。 このオプションを有効にすると、構成項目のクライアントで発生した修復によって状態メッセージが生成されます。 履歴は、Configuration Manager データベースに格納されます。

カスタム レポートを作成し、パブリック ビュー v_CIRemediationHistoryを使用して修復履歴を表示します。 列は RemediationDate 、クライアントが修復を実行した時刻 (UTC) です。 は ResourceID 、デバイスを識別します。 v_CIRemediationHistory ビューを使用してカスタム レポートを作成すると、次のことが役立ちます。

  • 修復スクリプトで発生する可能性のある問題を特定する
  • 各評価サイクルで一貫して準拠していないクライアントなどの修復の傾向を見つけます。

[サポートされている場合に修復履歴を追跡する] オプションを有効にする

  • 新しい構成項目の場合は、ウィザードの [設定] ページで新しい設定を作成するときに、[コンプライアンス規則] タブの [サポートされている場合に修復履歴を追跡する] オプションを追加します。
  • 既存の構成項目の場合は、構成項目の [プロパティ] の [コンプライアンス規則] タブの [サポートされている場合に修復履歴を追跡する] オプションを追加します。 バージョン 2002 でサポートされている場合に修復履歴を追跡する

次の手順

構成ベースラインを作成する