次の方法で共有


ローカル構成マネージャーの構成

適用対象: Windows PowerShell 5.0

ローカル構成マネージャー (LCM) は、Desired State Configuration (DSC) のエンジンです。 LCM はすべてのターゲットノードで実行され、ノードに送信される構成の解析と制定を担当します。 また、DSC の他の多くの側面にも、次のような責任があります。

  • リフレッシュモード(プッシュまたはプル)の決定。
  • ノードが構成をプルして実行する頻度を指定します。
  • ノードをプルサービスに関連付けます。
  • 部分的な構成の指定。

特別なタイプの設定を使用して、これらの各動作を指定するように LCM を設定します。 次のセクションでは、LCM の設定方法について説明します。

Windows PowerShell 5.0 では、ローカル構成マネージャーを管理するための新しい設定が導入されました。 Windows PowerShell 4.0 での LCM の構成の詳細については、「 以前のバージョンの Windows PowerShell でのローカル構成マネージャーの構成」を参照してください。

LCM 構成の作成と実行

LCM を構成するには、LCM 設定を適用する特別なタイプの構成を作成して実行します。 LCM 構成を指定するには、DscLocalConfigurationManager 属性を使用します。 LCM をプッシュ モードに設定する簡単な構成を次に示します。

[DSCLocalConfigurationManager()]
configuration LCMConfig
{
    Node localhost
    {
        Settings
        {
            RefreshMode = 'Push'
        }
    }
}

LCM に設定を適用するプロセスは、DSC 構成を適用するプロセスと似ています。 LCM 構成を作成し、それを MOF ファイルにコンパイルして、ノードに適用します。 DSC 構成とは異なり、 Start-DscConfiguration コマンドレットを呼び出して LCM 構成を作成する必要はありません。 代わりに、 Set-DscLocalConfigurationManager を呼び出して、LCM 構成 MOF へのパスをパラメーターとして指定します。 LCM 構成を適用した後、 Get-DscLocalConfigurationManager コマンドレットを呼び出して LCM のプロパティを確認できます。

LCM 構成には、限られたリソースセットのブロックのみを含めることができます。 前の例では、呼び出されるリソースは Settings のみです。 その他の利用可能なリソースは次のとおりです。

  • ConfigurationRepositoryWeb: 構成の HTTP プル サービスを指定します。
  • ConfigurationRepositoryShare: 構成の SMB 共有を指定します。
  • ResourceRepositoryWeb: モジュールの HTTP プル サービスを指定します。
  • ResourceRepositoryShare: モジュールの SMB 共有を指定します。
  • ReportServerWeb: レポートの送信先となる HTTP プル サービスを指定します。
  • PartialConfiguration: 部分構成を有効にするためのデータを提供します。

基本設定

プル サービスのエンドポイント/パスと部分的な構成を指定する以外に、LCM のすべてのプロパティは Settings ブロックで構成されます。 設定 ブロックでは 、次のプロパティを使用できます。

プロパティ タイプ Description
ActionAfterReboot (アクションリブート後) 文字列 構成の適用中に再起動した後の動作を指定します。 指定できる値は 、"ContinueConfiguration""StopConfiguration" です。
  • ContinueConfiguration: マシンの再起動後も現在の構成を適用し続けます。 これがデフォルト値です
  • StopConfiguration: マシンの再起動後に現在の構成を停止します。
AllowModuleOverwrite (モジュール上書きを許可) ブール (bool) $TRUE プルサービスからダウンロードした新しい構成がターゲットノード上の古い構成を上書きできるかどうか。 それ以外の場合は、$FALSE。
証明書 ID 文字列 構成で渡された資格情報をセキュリティで保護するために使用される証明書の拇印。 詳細については、「 Windows PowerShell の望ましい状態構成で資格情報をセキュリティで保護しますか?」を参照してください。
注: これは、Azure Automation DSC プル サービスを使用している場合、自動的に管理されます。
ConfigurationDownloadManager Cimインスタンス[] 古い機能です。 ConfigurationRepositoryWeb ブロックと ConfigurationRepositoryShare ブロックを使用して、構成プル サービス エンドポイントを定義します。
構成ID 文字列 古いプル サービス バージョンとの下位互換性のため。 プル サービスから取得する構成ファイルを識別する GUID。 ノードは、構成 MOF の名前が ConfigurationID.mof の場合、プル サービスで構成をプルします。
手記: このプロパティを設定すると、 RegistrationKey を使用してノードをプル サービスに登録することはできません。 詳細については、「 設定名を使用したプルクライアントの設定」を参照してください。
コンフィギュレーションモード 文字列 LCM がターゲットノードに実際に設定を適用する方法を指定します。 指定できる値は、"ApplyOnly"、"ApplyAndMonitor"および "ApplyAndAutoCorrect" です。
  • ApplyOnly: DSC は構成を適用し、新しい構成がターゲット ノードにプッシュされるか、サービスから新しい構成がプルされない限り、それ以上は何もしません。 新しい設定の初期適用後、DSC は以前に設定された状態からのドリフトをチェックしません。 DSC は、 ApplyOnly が有効になる前に、成功するまで構成の適用を試みることに注意してください。
  • ApplyAndMonitor: これはデフォルト値です。 LCM は、新しい構成を適用します。 新しい設定を最初に適用した後、ターゲット ノードが目的の状態からドリフトすると、DSC はログで不一致を報告します。 DSC は、 ApplyAndMonitor が有効になる前に、成功するまで構成の適用を試みることに注意してください。
  • ApplyAndAutoCorrect: DSC は、新しい構成を適用します。 新しい設定の初期適用後、ターゲット ノードが目的の状態からドリフトすると、DSC はログで不一致を報告し、現在の設定を再適用します。
ConfigurationModeFrequencyMins (構成モード頻度分) UInt32 現在の構成を確認して適用する頻度 (分単位)。 ConfigurationMode プロパティが ApplyOnly に設定されている場合、このプロパティは無視されます。 既定値は 15 です。
DebugMode 文字列 指定できる値は、 NoneForceModuleImport、および All です。
  • キャッシュされたリソースを使用するには、 [なし ] に設定します。 これは既定値であり、運用シナリオで使用する必要があります。
  • ForceModuleImport に設定すると、LCM は、以前にロードおよびキャッシュされた場合でも、DSC リソース モジュールを再ロードします。 これは、使用時に各モジュールがリロードされるため、DSC 操作のパフォーマンスに影響します。 通常、この値はリソースのデバッグ中に使用します
  • このリリースでは、AllForceModuleImport と同じです
RebootNodeIfNeeded ブール (bool) これを $true に設定すると、リソースが $global:DSCMachineStatus フラグを使用してノードを再起動できるようになります。 それ以外の場合は、必要な構成に対してノードを手動で再起動する必要があります。 既定値は $false です。 再起動条件が DSC 以外のもの (Windows インストーラーなど) によって実行されるときにこの設定を使用するには、この設定を ComputerManagementDsc モジュールの PendingReboot リソースと組み合わせます。
リフレッシュモード 文字列 LCM が構成を取得する方法を指定します。 可能な値は、"Disabled"、"Push"および "Pull" です。
  • 無効: このノードでは DSC 構成が無効になります。
  • プッシュ: 構成は、コマンドレットを呼び出すことで Start-DscConfiguration 開始されます。 設定はノードにすぐに適用されます。 これが既定値です。
  • 引っ張る: ノードは、プル サービスまたは SMB パスからの構成を定期的にチェックするように構成されています。 このプロパティが Pull に設定されている場合は、 ConfigurationRepositoryWeb ブロックまたは ConfigurationRepositoryShare ブロックで HTTP (サービス) または SMB (共有) パスを指定する必要があります。
RefreshFrequencyMins (リフレッシュ頻度分) ユイント32 LCM がプル サービスをチェックして更新された構成を取得し、ローカル構成のドリフトをチェックする時間間隔 (分単位)。 この構成は、更新プログラムがダウンロードされたかどうかに関係なく適用されます。 LCM がプル モードで構成されていない場合、この値は無視されます。 既定値は 30 です。
レポートマネージャー Cimインスタンス[] 古い機能です。 ReportServerWeb ブロックを使用して、レポート データをプル サービスに送信するエンドポイントを定義します。
ResourceModuleManagers Cimインスタンス[] 古い機能です。 ResourceRepositoryWeb ブロックと ResourceRepositoryShare ブロックを使用して、プル サービスの HTTP エンドポイントまたは SMB パスをそれぞれ定義します。
部分構成 Cimインスタンス 実装されていません。 使用しないでください。
ステータスRetentionTimeInDays UInt32 LCM が現在の設定のステータスを保持する日数。

LCM は、以下に基づいて ConfigurationModeFrequencyMins サイクルを開始します。

  • ConfigurationModeFrequencyMins に変更を加えた新しいメタ構成は、Set-DscLocalConfigurationManager
  • マシンの再起動

タイマー プロセスでクラッシュが発生する状況では、30 秒以内に検出され、サイクルが再開されます。 同時操作によりサイクルの開始が遅れる可能性があり、この操作の期間が構成されたサイクル頻度を超えると、次のタイマーは開始されません。 たとえば、メタ構成は 15 分のプル頻度で構成され、プルは T1 で発生します。 ノードは 16 分間作業を完了しません。 最初の15分サイクルは無視され、次のプルはT1 + 15 + 15で発生します。

プル シナリオの本来の意図は、 RefreshFrequencyMinsConfigurationModeFrequencyMinsよりも長い時間に設定することでした。 ローカル構成は、構成のドリフトを回避するために主に ConfigurationModeFrequencyMins によって管理され、 RefreshFrequencyMins は管理者によって行われた実際の構成変更を追跡するために使用されます。

プルサービス

LCM 構成では、次の種類のプル サービス エンドポイントの定義がサポートされています。

  • 構成サーバー: DSC 構成のリポジトリ。 ConfigurationRepositoryWeb (Web ベースのサーバーの場合) と ConfigurationRepositoryShare (SMB ベースのサーバーの場合) ブロックを使用して、構成サーバーを定義します。
  • リソース サーバー: PowerShell モジュールとしてパッケージ化された DSC リソースのリポジトリ。 ResourceRepositoryWeb (Web ベースのサーバーの場合) と ResourceRepositoryShare (SMB ベースのサーバーの場合) ブロックを使用して、リソース サーバーを定義します。
  • レポート サーバー: DSC がレポート データを送信するサービス。 ReportServerWeb ブロックを使用してレポート サーバーを定義します。 レポート サーバーは Web サービスである必要があります。

プルサービスの詳細については、「 Desired State Configuration Pull Service」を参照してください。

構成サーバー ブロック

Web ベースの構成サーバーを定義するには、 ConfigurationRepositoryWeb ブロックを作成します。 ConfigurationRepositoryWeb は、次のプロパティを定義します。

プロパティ タイプ Description
AllowUnsecure接続 ブール (bool) $TRUE に設定すると、認証なしでノードからサーバーへの接続が許可されます。 認証を要求するには $FALSE に設定します。
証明書 ID 文字列 サーバーへの認証に使用される証明書の拇印。
構成名 文字列[] ターゲットノードによってプルされる構成の名前の配列。 これらは、 ノードが RegistrationKey を使用してプル サービスに登録されている場合にのみ使用されます。 詳細については、「 設定名を使用したプルクライアントの設定」を参照してください。
登録キー 文字列 ノードをプル サービスに登録する GUID。 詳細については、「 設定名を使用したプルクライアントの設定」を参照してください。
ServerURL 文字列 構成サービスの URL。
プロキシURL* 文字列 構成サービスとの通信時に使用する http プロキシの URL。
プロキシ資格情報* pscredential http プロキシに使用する資格情報。

Windows バージョン 1809 以降でサポートされています。

オンプレミス・ノードの ConfigurationRepositoryWeb 値の構成を簡略化するためのスクリプト例が利用可能です - DSC メタ構成の生成を参照してください

SMB ベースの構成サーバーを定義するには、 ConfigurationRepositoryShare ブロックを作成します。 ConfigurationRepositoryShare は、次のプロパティを定義します。

プロパティ タイプ Description
Credential MSFT_Credential SMB 共有への認証に使用される資格情報。
SourcePath 文字列 SMB 共有のパス。

リソース・サーバー・ブロック

Web ベースのリソース・サーバーを定義するには、 ResourceRepositoryWeb ブロックを作成します。 ResourceRepositoryWeb は、次のプロパティを定義します。

プロパティ タイプ Description
AllowUnsecure接続 ブール (bool) $TRUE に設定すると、認証なしでノードからサーバーへの接続が許可されます。 認証を要求するには $FALSE に設定します。
証明書 ID 文字列 サーバーへの認証に使用される証明書の拇印。
登録キー 文字列 プル サービスに対してノードを識別する GUID。
ServerURL 文字列 構成サーバーの URL。
プロキシURL* 文字列 構成サービスとの通信時に使用する http プロキシの URL。
プロキシ資格情報* pscredential http プロキシに使用する資格情報。

Windows バージョン 1809 以降でサポートされています。

オンプレミス・ノードの ResourceRepositoryWeb 値の構成を簡略化するためのスクリプト例が利用可能です - DSC メタ構成の生成を参照してください。

SMB ベースのリソースサーバーを定義するには、 ResourceRepositoryShare ブロックを作成します。 ResourceRepositoryShare は、次のプロパティを定義します。

プロパティ タイプ Description
Credential MSFT_Credential SMB 共有への認証に使用される資格情報。 資格情報を渡す例については、「DSC SMB プル サーバーの設定」を参照してください
SourcePath 文字列 SMB 共有のパス。

レポート サーバー ブロック

レポート サーバーを定義するには、 ReportServerWeb ブロックを作成します。 レポート サーバーの役割は、SMB ベースのプル サービスと互換性がありません。 ReportServerWeb では、次のプロパティが定義されています。

プロパティ タイプ Description
AllowUnsecure接続 ブール (bool) $TRUE に設定すると、認証なしでノードからサーバーへの接続が許可されます。 認証を要求するには $FALSE に設定します。
証明書 ID 文字列 サーバーへの認証に使用される証明書の拇印。
登録キー 文字列 プル サービスに対してノードを識別する GUID。
ServerURL 文字列 構成サーバーの URL。
プロキシURL* 文字列 構成サービスとの通信時に使用する http プロキシの URL。
プロキシ資格情報* pscredential http プロキシに使用する資格情報。

Windows バージョン 1809 以降でサポートされています。

オンプレミス ノードの ReportServerWeb 値の構成を簡略化するスクリプトの例を使用できます (DSC メタ構成の生成」を参照してください)

部分的な構成

部分構成を定義するには、 PartialConfiguration ブロックを作成します。 部分構成の詳細については、「 DSC 部分構成」を参照してください。 PartialConfiguration では、次のプロパティが定義されています。

プロパティ タイプ Description
構成ソース string[] ConfigurationRepositoryWeb ブロックと ConfigurationRepositoryShare ブロックで以前に定義され、部分的な構成が取得される構成サーバーの名前の配列。
依存 糸{} この部分構成を適用する前に完了する必要がある他の構成の名前のリスト。
Description 文字列 部分的な構成を説明するために使用されるテキスト。
Exclusiveリソース string[] この部分構成専用のリソースの配列。
リフレッシュモード 文字列 LCM がこの部分構成を取得する方法を指定します。 可能な値は、"Disabled"、"Push"および "Pull" です。
  • 無効: この部分構成は無効です。
  • プッシュ: 部分的な構成は、コマンドレットを呼び出すことでノードにプッシュされます Publish-DscConfiguration 。 ノードのすべての部分構成がサービスからプッシュまたはプルされた後、 Start-DscConfiguration –UseExisting を呼び出して構成を開始できます。 これが既定値です。
  • 引っ張る: ノードは、プルサービスからの部分的な構成を定期的にチェックするように構成されています。 このプロパティが Pull に設定されている場合は、 ConfigurationSource プロパティでプル サービスを指定する必要があります。 Azure Automation プル サービスの詳細については、「 Azure Automation DSC の概要」を参照してください。
リソースモジュールソース string[] この部分構成に必要なリソースをダウンロードするリソース・サーバーの名前の配列。 これらの名前は、 ResourceRepositoryWeb ブロックと ResourceRepositoryShare ブロックで以前に定義されたサービス エンドポイントを参照する必要があります。

部分的な構成は Azure Automation DSC でサポートされていますが、ノードごとに各 Automation アカウントからプルできる構成は 1 つだけです。

こちらもご覧ください

概念

望ましい状態設定の概要

Azure Automation DSC の概要

その他のリソース

Set-DscLocalConfigurationManager

構成名を使用したプル・クライアントのセットアップ