Настройка локального диспетчера конфигураций
Область применения: Windows PowerShell 5.0
Локальный диспетчер конфигураций (LCM) — это подсистема Desired State Configuration (DSC). LCM работает на каждом целевом узле и отвечает за синтаксический анализ и применение конфигураций, передаваемых на узел. Кроме того, он отвечает за ряд других аспектов DSC, включая следующие.
- Определение режима обновления (принудительное или по запросу).
- Указание периодичности извлечения и применения конфигураций узлом.
- Связывание узла с опрашивающей службой.
- Указание частичных конфигураций.
Использование специального типа конфигурации при настройке LCM для решения каждой из этих задач. Настройка LCM описывается в следующих разделах.
В Windows PowerShell 5.0 появились новые параметры для управления локальным диспетчером конфигураций. Сведения о настройке локального диспетчера конфигураций в Windows PowerShell 4.0 см. в разделе Настройка локального диспетчера конфигураций в предыдущих версиях Windows PowerShell.
Написание и применение конфигурации НОК
Для настройки LCM нужно создать и запустить определенный тип конфигурации, в которой применяются параметры LCM. Для указания конфигурации LCM используйте атрибут DscLocalConfigurationManager. Ниже показана простая конфигурация, которая переводит LCM в режим принудительного применения.
[DSCLocalConfigurationManager()]
configuration LCMConfig
{
Node localhost
{
Settings
{
RefreshMode = 'Push'
}
}
}
Процесс применения параметров к LCM аналогичен применению конфигурации DSC. Создается конфигурация LCM, затем она компилируется в MOF-файл и применяется к узлу. В отличие от конфигураций DSC конфигурация LCM не применяется с помощью командлета Start-DscConfiguration. Вместо этого вызовите Set-DscLocalConfigurationManager, указав в качестве параметра путь к MOF конфигурации LCM. После применения конфигурации LCM можно просмотреть свойства LCM, вызвав командлет Get-DscLocalConfigurationManager.
Конфигурация LCM может содержать блоки лишь для ограниченного набора ресурсов. В предыдущем примере вызывался только ресурс Settings. Другие доступные ресурсы:
- ConfigurationRepositoryWeb: указывает опрашивающую HTTP-службу для конфигураций.
- ConfigurationRepositoryShare: указывает общий ресурс SMB для конфигураций.
- ResourceRepositoryWeb: указывает опрашивающую HTTP-службу для модулей.
- ResourceRepositoryShare: указывает общий ресурс SMB для модулей.
- ReportServerWeb: указывает опрашивающую HTTP-службу для отправки отчетов.
- PartialConfiguration: предоставляет данные для включения частичных конфигураций.
Основные параметры
Все свойства LCM, кроме конечных точек и путей для опрашивающей службы, а также частичных конфигураций, настраиваются в блоке Settings. В блоке Settings доступны следующие свойства:
Свойство | Тип | Описание |
---|---|---|
ActionAfterReboot | строка | Указывает, что будет происходить после перезагрузки в процессе применения конфигурации. Возможные значения: ContinueConfiguration и StopConfiguration.
|
AllowModuleOverwrite | bool | Укажите значение $TRUE, если новые конфигурации, загружаемые из опрашивающей службы, могут заменять старые конфигурации, которые уже есть на целевом узле. Если это не нужно, используйте значение $FALSE. |
CertificateID | строка | Отпечаток сертификата, защищающего учетные данные, которые передаются в конфигурацию. Дополнительные сведения см. в статье Защита учетных данных в службе настройки требуемого состояния Windows PowerShell. Примечание. При использовании опрашивающей службы DSC в службе автоматизации Azure это осуществляется автоматически. |
ConfigurationDownloadManagers | CimInstance[] | Устаревшее. Для определения конфигурации конечных точек опрашивающей службы используйте блоки ConfigurationRepositoryWeb и ConfigurationRepositoryShare. |
ConfigurationID | строка | Обеспечивает обратную совместимость с более ранними версиями опрашивающей службы. GUID, определяющий файл конфигурации, который будет получен из опрашивающей службы. Если указано имя MOF конфигурации ConfigurationID.mof, узел извлекает конфигурации из опрашивающей службы. Примечание. Если это свойство задано, регистрация узла в опрашивающей службе с помощью параметра RegistrationKey осуществляться не будет. Дополнительные сведения см. в статье Настройка опрашивающего клиента с использованием имен конфигураций. |
ConfigurationMode | строка | Указывает, каким образом LCM фактически применяет конфигурацию к целевым узлам. Возможные значения: ApplyOnly,ApplyAndMonitor и ApplyAndAutoCorrect.
|
ConfigurationModeFrequencyMins | UInt32 | Частота проверки и применения текущей конфигурации в минутах. Это свойство пропускается, если свойство ConfigurationMode имеет значение ApplyOnly. Значение по умолчанию — 15. |
DebugMode | строка | Возможные значения: None, ForceModuleImport и All.
|
RebootNodeIfNeeded | bool | задайте значение $true , разрешающее ресурсам перезагружать узел, с помощью флага $global:DSCMachineStatus . В противном случае для каждой такой конфигурации узел придется перезагружать вручную. Значение по умолчанию — $false . Чтобы использовать этот параметр, если условие перезагрузки инициируется не с помощью DSC (а например, установщика Windows), объедините этот параметр с ресурсом PendingReboot в модуле ComputerManagementDsc. |
RefreshMode | строка | Указывает, каким образом LCM получает конфигурации. Возможные значения: Disabled, Push и Pull.
|
RefreshFrequencyMins | UInt32 | Интервал времени (в минутах), с которым LCM проверяет опрашивающую службу на наличие обновленных конфигураций и локальные конфигурации на предмет отклонения. Конфигурация применяется независимо от того, скачано ли обновление. Это значение пропускается, если LCM не настроен в режиме запроса. Значение по умолчанию — 30. |
ReportManagers | CimInstance[] | Устаревшее. Используйте блоки ReportServerWeb, чтобы определить конечную точку для отправки данных отчетов в опрашивающую службу. |
ResourceModuleManagers | CimInstance[] | Устаревшее. Используйте блоки ResourceRepositoryWeb и ResourceRepositoryShare, чтобы определить конечные точки HTTP для опрашивающей службы или пути SMB соответственно. |
PartialConfigurations | CimInstance | Не реализовано. Не используйте. |
StatusRetentionTimeInDays | UInt32 | Число дней, в течение которых LCM сохраняет состояние текущей конфигурации. |
Примечание
LCM запустит цикл ConfigurationModeFrequencyMins на основе:
- Новая метаконфигурация с изменением ConfigurationModeFrequencyMins применяется с помощью
Set-DscLocalConfigurationManager
. - Перезагрузка компьютера.
В любой ситуации, когда в процессе таймера возникает сбой, который обнаруживается в течение 30 секунд, цикл будет перезапущен. Параллельная операция может задержать запуск цикла, если длительность этой операции превышает настроенную частоту цикла, и очередной таймер не запустится. Например, метаконфигурация настроена с частотой опроса в 15 минут, и в момент T1 происходит опрос. Узел не завершает работу 16 минут. Первый 15-минутный цикл игнорируется, и далее запрос произойдет в момент T1+15+15.
Исходным намерением в сценариях опроса была проверка того, задано ли для RefreshFrequencyMins
большее значение времени, чем для ConfigurationModeFrequencyMins
. Для управления локальными конфигурациями преимущественно будет использоваться ConfigurationModeFrequencyMins
, чтобы избежать отклонения конфигурации, а RefreshFrequencyMins
будет использоваться для отслеживания фактических изменений конфигурации, внесенных администратором.
Опрашивающая служба
Конфигурация LCM поддерживает определение конечных точек опрашивающей службы следующих типов:
- Сервер конфигурации: репозиторий конфигураций DSC. Определите серверы конфигурации с помощью блоков ConfigurationRepositoryWeb (для веб-серверов) и ConfigurationRepositoryShare (для серверов на основе SMB).
- Сервер ресурсов: репозиторий ресурсов DSC, упакованных как модули PowerShell. Определите серверы ресурсов с помощью блоков ResourceRepositoryWeb (для веб-серверов) и ResourceRepositoryShare (для серверов на основе SMB).
- Сервер отчетов: служба, в которую DSC отправляет данные отчетов. Для определения серверов отчетов используется блок ReportServerWeb. Сервер отчетов должен быть веб-службой.
Дополнительные сведения об опрашивающей службе см. в разделе Опрашивающая служба Desired State Configuration.
Блоки сервера конфигураций
Чтобы определить веб-сервер конфигурации, создайте блок ConfigurationRepositoryWeb. Блок ConfigurationRepositoryWeb определяет следующие свойства:
Свойство | Тип | Описание |
---|---|---|
AllowUnsecureConnection | bool | Укажите значение $TRUE, чтобы разрешить подключение между узлом и сервером без проверки подлинности. Укажите значение $FALSE, чтобы требовать проверку подлинности. |
CertificateID | строка | Отпечаток сертификата, который используется для проверки подлинности на сервере. |
ConfigurationNames | String[] | Массив имен конфигураций для опроса целевым узлом. Используется, только если узел зарегистрирован в опрашивающей службе с использованием свойства RegistrationKey. Дополнительные сведения см. в статье Настройка опрашивающего клиента с использованием имен конфигураций. |
RegistrationKey | строка | GUID регистрации узла в опрашивающей службе. Дополнительные сведения см. в статье Настройка опрашивающего клиента с использованием имен конфигураций. |
ServerURL | строка | URL-адрес службы настройки. |
ProxyURL* | строка | URL-адрес прокси-сервера HTTP для взаимодействия со службой настройки. |
ProxyCredential* | pscredential | Учетные данные для прокси-сервера HTTP. |
Примечание
Поддерживаются в Windows 1809 и более поздних версиях.
Доступен пример скрипта, который упрощает настройку значения ConfigurationRepositoryWeb для локальных узлов. См. раздел Создание метаконфигураций DSC.
Для определения SMB-сервера конфигураций используется блок ConfigurationRepositoryShare. Блок ConfigurationRepositoryShare определяет следующие свойства:
Свойство | Тип | Описание |
---|---|---|
Учетные данные | MSFT_Credential | Учетные данные для проверки подлинности в общей папке SMB. |
SourcePath | строка | Путь к общей папке SMB. |
Блоки сервера ресурсов
Чтобы определить веб-сервер ресурсов, создайте блок ResourceRepositoryWeb. Блок ResourceRepositoryWeb определяет следующие свойства:
Свойство | Тип | Описание |
---|---|---|
AllowUnsecureConnection | bool | Укажите значение $TRUE, чтобы разрешить подключение между узлом и сервером без проверки подлинности. Укажите значение $FALSE, чтобы требовать проверку подлинности. |
CertificateID | строка | Отпечаток сертификата, который используется для проверки подлинности на сервере. |
RegistrationKey | строка | GUID для идентификации узла в опрашивающей службе. |
ServerURL | строка | URL-адрес сервера конфигураций. |
ProxyURL* | строка | URL-адрес прокси-сервера HTTP для взаимодействия со службой настройки. |
ProxyCredential* | pscredential | Учетные данные для прокси-сервера HTTP. |
Примечание
Поддерживаются в Windows 1809 и более поздних версиях.
Доступен пример скрипта, который упрощает настройку значения ResourceRepositoryWeb для локальных узлов. См. раздел Создание метаконфигураций DSC
Для определения SMB-сервера ресурса создается блок ResourceRepositoryShare. Блок ResourceRepositoryShare определяет следующие свойства:
Свойство | Тип | Описание |
---|---|---|
Учетные данные | MSFT_Credential | Учетные данные для проверки подлинности в общей папке SMB. Пример передачи учетных данных см. в разделе Настройка опрашивающего SMB-сервера DSC |
SourcePath | строка | Путь к общей папке SMB. |
Блоки сервера отчетов
Для определения сервера отчетов создается блок ReportServerWeb. Роль сервера отчетов несовместима с опрашивающей службой на основе SMB. Блок ReportServerWeb определяет следующие свойства:
Свойство | Тип | Описание |
---|---|---|
AllowUnsecureConnection | bool | Укажите значение $TRUE, чтобы разрешить подключение между узлом и сервером без проверки подлинности. Укажите значение $FALSE, чтобы требовать проверку подлинности. |
CertificateID | строка | Отпечаток сертификата, который используется для проверки подлинности на сервере. |
RegistrationKey | строка | GUID для идентификации узла в опрашивающей службе. |
ServerURL | строка | URL-адрес сервера конфигураций. |
ProxyURL* | строка | URL-адрес прокси-сервера HTTP для взаимодействия со службой настройки. |
ProxyCredential* | pscredential | Учетные данные для прокси-сервера HTTP. |
Примечание
Поддерживаются в Windows 1809 и более поздних версиях.
Доступен пример скрипта, который упрощает настройку значения ReportServerWeb для локальных узлов. См. раздел Создание метаконфигураций DSC
Частичные конфигурации
Для определения частичной конфигурации создается блок PartialConfiguration Дополнительные сведения о конфигурациях сеансов см. в разделе Частичные конфигурации DSC. Блок PartialConfiguration определяет следующие свойства:
Свойство | Тип | Описание |
---|---|---|
ConfigurationSource | string[] | Массив имен для серверов конфигураций, определенных ранее в блоках ConfigurationRepositoryWeb и ConfigurationRepositoryShare, из которых извлекается частичная конфигурация. |
DependsOn | string{} | Список имен других конфигураций, которые должны быть завершены до применения этой частичной конфигурации. |
Описание | строка | Текст, используемый для описания частичной конфигурации. |
ExclusiveResources | string[] | Массив ресурсов, эксклюзивных для этой частичной конфигурации. |
RefreshMode | строка | Указывает, как DCS получает эту частичную конфигурацию. Возможные значения: Disabled, Push и Pull.
|
ResourceModuleSource | string[] | Массив имен для серверов ресурсов, с которых следует скачивать необходимые ресурсы для этой частичной конфигурации. Эти имена должны ссылаться на конечные токи службы, ранее определенные в блоках ResourceRepositoryWeb и ResourceRepositoryShare. |
Примечание
DSC в службе автоматизации Azure поддерживает частичные конфигурации. Но из каждой учетной записи службы автоматизации можно получить только одну конфигурацию на один узел.
См. также:
Основные понятия
Обзор Desired State Configuration
Начало работы с DSC в службе автоматизации Azure