適用対象: 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" です。
|
| AllowModuleOverwrite (モジュール上書きを許可) | ブール (bool) | $TRUE プルサービスからダウンロードした新しい構成がターゲットノード上の古い構成を上書きできるかどうか。 それ以外の場合は、$FALSE。 |
| 証明書 ID | 文字列 | 構成で渡された資格情報をセキュリティで保護するために使用される証明書の拇印。 詳細については、「 Windows PowerShell の望ましい状態構成で資格情報をセキュリティで保護しますか?」を参照してください。 注: これは、Azure Automation DSC プル サービスを使用している場合、自動的に管理されます。 |
| ConfigurationDownloadManager | Cimインスタンス[] | 古い機能です。 ConfigurationRepositoryWeb ブロックと ConfigurationRepositoryShare ブロックを使用して、構成プル サービス エンドポイントを定義します。 |
| 構成ID | 文字列 | 古いプル サービス バージョンとの下位互換性のため。 プル サービスから取得する構成ファイルを識別する GUID。 ノードは、構成 MOF の名前が ConfigurationID.mof の場合、プル サービスで構成をプルします。 手記: このプロパティを設定すると、 RegistrationKey を使用してノードをプル サービスに登録することはできません。 詳細については、「 設定名を使用したプルクライアントの設定」を参照してください。 |
| コンフィギュレーションモード | 文字列 | LCM がターゲットノードに実際に設定を適用する方法を指定します。 指定できる値は、"ApplyOnly"、"ApplyAndMonitor"、および "ApplyAndAutoCorrect" です。
|
| ConfigurationModeFrequencyMins (構成モード頻度分) | UInt32 | 現在の構成を確認して適用する頻度 (分単位)。 ConfigurationMode プロパティが ApplyOnly に設定されている場合、このプロパティは無視されます。 既定値は 15 です。 |
| DebugMode | 文字列 | 指定できる値は、 None、 ForceModuleImport、および All です。
|
| RebootNodeIfNeeded | ブール (bool) | これを $true に設定すると、リソースが $global:DSCMachineStatus フラグを使用してノードを再起動できるようになります。 それ以外の場合は、必要な構成に対してノードを手動で再起動する必要があります。 既定値は $false です。 再起動条件が DSC 以外のもの (Windows インストーラーなど) によって実行されるときにこの設定を使用するには、この設定を ComputerManagementDsc モジュールの PendingReboot リソースと組み合わせます。 |
| リフレッシュモード | 文字列 | LCM が構成を取得する方法を指定します。 可能な値は、"Disabled"、"Push"、および "Pull" です。
|
| 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で発生します。
プル シナリオの本来の意図は、 RefreshFrequencyMins を ConfigurationModeFrequencyMinsよりも長い時間に設定することでした。 ローカル構成は、構成のドリフトを回避するために主に 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" です。
|
| リソースモジュールソース | string[] | この部分構成に必要なリソースをダウンロードするリソース・サーバーの名前の配列。 これらの名前は、 ResourceRepositoryWeb ブロックと ResourceRepositoryShare ブロックで以前に定義されたサービス エンドポイントを参照する必要があります。 |
注
部分的な構成は Azure Automation DSC でサポートされていますが、ノードごとに各 Automation アカウントからプルできる構成は 1 つだけです。