Поделиться через


Настройка локального диспетчера конфигураций

Применимо к: Windows PowerShell 5.0

Local Configuration Manager (LCM) — это подсистема конфигурации требуемого состояния (DSC). LCM работает на каждом целевом узле и отвечает за синтаксический анализ и ввод в действие конфигураций, отправляемых на узел. Она также отвечает за ряд других аспектов DSC, в том числе за следующие.

  • Определение режима обновления (push или pull).
  • Указание частоты извлечения и активации конфигураций узлом.
  • Связывание узла с пулл-сервисом.
  • Указание частичных конфигураций.

Для настройки LCM используется специальный тип конфигурации, чтобы указать каждое из этих поведений. В следующих разделах описывается, как настроить LCM.

В Windows PowerShell 5.0 появились новые параметры для управления Local Configuration Manager. Сведения о настройке LCM в Windows PowerShell 4.0 см. в разделе Настройка локального диспетчера конфигураций в предыдущих версиях Windows PowerShell.

Написание и реализация конфигурации LCM

Чтобы настроить 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 pull для конфигураций.
  • ConfigurationRepositoryShare: указывает общую папку SMB для конфигураций.
  • ResourceRepositoryWeb: указывает услугу HTTP pull для модулей.
  • ResourceRepositoryShare: указывает общий ресурс SMB для модулей.
  • ReportServerWeb: указывает службу HTTP pull, в которую отправляются отчеты.
  • PartialConfiguration: предоставляет данные для включения частичных конфигураций.

Основные параметры

За исключением указания конечных точек/путей службы извлечения и частичных конфигураций, все свойства LCM настраиваются в блоке Settings . Следующие свойства доступны в блоке Настройки .

Недвижимость Тип Description
ДействиеПослеПерезагрузки струна Указывает, что происходит после перезагрузки во время приложения конфигурации. Возможные значения: "ContinueConfiguration" и "StopConfiguration".
  • ContinueConfiguration: продолжение применения текущей конфигурации после перезагрузки компьютера. Это значение по умолчанию
  • StopConfiguration: остановка текущей конфигурации после перезагрузки компьютера.
AllowModuleOverwrite (Перезаписать модуль) bool $TRUE если новым конфигурациям, загруженным из службы pull, разрешено перезаписывать старые конфигурации на целевом узле. В противном случае $FALSE.
Идентификатор сертификата струна Отпечаток сертификата, используемый для защиты учетных данных, передаваемых в конфигурации. Дополнительные сведения см. в статье Хотите защитить учетные данные в конфигурации требуемого состояния Windows PowerShell?.
Примечание: это управляется автоматически при использовании службы извлечения Azure Automation DSC.
КонфигурацияDownloadManagers CimInstance[] Является устаревшей. Используйте блоки ConfigurationRepositoryWeb и ConfigurationRepositoryShare для определения конечных точек службы извлечения конфигурации.
Идентификатор конфигурации струна Для обратной совместимости со старыми версиями службы pull. GUID, определяющий файл конфигурации, который необходимо получить из службы извлечения. Узел будет извлекать конфигурации в службе извлечения, если имя MOF конфигурации имеет имя ConfigurationID.mof.
Заметка: Если задать это свойство, регистрация узла в службе извлечения с помощью RegistrationKey не будет работать. Дополнительные сведения см. в разделе Настройка опрашивающего клиента с именами конфигураций.
ConfigurationMode (Режим конфигурации) струна Указывает, как LCM фактически применяет конфигурацию к целевым узлам. Возможные значения: "ApplyOnly","ApplyAndMonitor" и "ApplyAndAutoCorrect".
  • ApplyOnly: DSC применяет конфигурацию и больше ничего не делает, если новая конфигурация не будет отправлена на целевой узел или когда новая конфигурация не будет извлечена из службы. После первоначального применения новой конфигурации DSC не проверяет отклонение от ранее настроенного состояния. Обратите внимание, что DSC будет пытаться применить конфигурацию до тех пор, пока она не будет успешной, прежде чем ApplyOnly вступит в силу.
  • ApplyAndMonitor: это значение по умолчанию. LCM применяет любые новые конфигурации. Если после первоначального применения новой конфигурации целевой узел отклоняется от желаемого состояния, DSC сообщает о несоответствии в журналах. Обратите внимание, что DSC будет пытаться применить конфигурацию до тех пор, пока она не будет успешной, прежде чем ApplyAndMonitor вступит в силу.
  • ApplyAndAutoCorrect: DSC применяет все новые конфигурации. Если после первоначального применения новой конфигурации целевой узел отклоняется от желаемого состояния, DSC сообщает о несоответствии в журналах, а затем повторно применяет текущую конфигурацию.
ConfigurationModeFrequencyMins (КонфигурацияModeFrequencyMins) UInt32 Как часто текущая конфигурация проверяется и применяется в минутах. Это свойство игнорируется, если для свойства ConfigurationMode задано значение ApplyOnly. Значение по умолчанию — 15.
DebugMode струна Возможные значения: None, ForceModuleImport и All.
  • Установите значение Нет, чтобы использовать кэшированные ресурсы. Это значение по умолчанию и должно использоваться в производственных сценариях.
  • Если задано значение ForceModuleImport, LCM перезагружает все модули ресурсов DSC, даже если они ранее были загружены и кэшированы. Это влияет на производительность операций DSC, так как каждый модуль перезагружается при использовании. Как правило, это значение используется при отладке ресурса
  • В этом выпуске All is same like ForceModuleImport
RebootNodeIfNeeded bool Установите это значение, $true чтобы разрешить ресурсам перезагружать узел с помощью флага $global:DSCMachineStatus . В противном случае необходимо вручную перезагрузить узел для любой конфигурации, требующей ее. Значение по умолчанию — $false. Чтобы использовать этот параметр, когда условие перезагрузки вводится в действие чем-то, отличным от DSC (например, установщиком Windows), объедините этот параметр с ресурсом PendingReboot в модуле ComputerManagementDsc .
Режим обновления струна Указывает, как LCM получает конфигурации. Возможные значения: "Disabled","Push" и "Pull".
  • Отключено: конфигурации DSC отключены для этого узла.
  • Push-уведомление: конфигурации инициируются путем вызова командлета Start-DscConfiguration . Конфигурация применяется непосредственно к узлу. Это значение по умолчанию.
  • Тянуть: Узел настроен на регулярную проверку конфигураций из службы извлечения или пути SMB. Если для этого свойства задано значение Pull, необходимо указать путь HTTP (служба) или SMB (общая папка) в блоке ConfigurationRepositoryWeb или ConfigurationRepositoryShare .
RefreshFrequencyMins (Частота обновления), мин Уинт32 Интервал времени (в минутах), в течение которого LCM проверяет службу извлечения для получения обновленных конфигураций и проверяет локальную конфигурацию на смещение. Конфигурация применяется независимо от того, было ли загружено обновление. Это значение игнорируется, если LCM не настроен в режиме извлечения. Значение по умолчанию — 30.
Менеджеры отчетов CimInstance[] Является устаревшей. Используйте блоки ReportServerWeb для определения конечной точки для отправки данных отчетов в службу извлечения.
Менеджеры по ресурсамМодулям CimInstance[] Является устаревшей. Используйте блоки ResourceRepositoryWeb и ResourceRepositoryShare для определения конечных точек HTTP службы pull или путей SMB соответственно.
Частичные конфигурации Экземпляр CimInstance Не реализовано. Не используйте.
StatusRetentionTimeInDays (ВремяУдержаниеВ днях) UInt32 Количество дней, в течение которых LCM сохраняет состояние текущей конфигурации.

Замечание

LCM запускает цикл ConfigurationModeFrequencyMins на основе:

  • Новая метаконфигурация с изменением ConfigurationModeFrequencyMins применяется с помощью Set-DscLocalConfigurationManager
  • Перезапуск машины

Для любого условия, при котором происходит сбой процесса таймера, это будет обнаружено в течение 30 секунд, и цикл будет запущен заново. Параллельная операция может привести к задержке запуска цикла, если продолжительность этой операции превысит настроенную частоту цикла, следующий таймер не запустится. Например, метаконфигурация настроена на 15-минутную частоту вытягивания, а вытягивание происходит в точке T1. Узел не заканчивает работу в течение 16 минут. Первый 15-минутный цикл игнорируется, а следующий пулл произойдет в T1+15+15.

Первоначальная цель сценариев Pull заключалась в том, чтобы для параметра RefreshFrequencyMins устанавливалось более длительное время, чем ConfigurationModeFrequencyMinsдля . Локальные конфигурации будут управляться в первую очередь ConfigurationModeFrequencyMins для предотвращения смещения конфигурации и RefreshFrequencyMins используются для отслеживания фактических изменений конфигурации, сделанных администратором.

Услуга по вытягиванию

Конфигурация LCM поддерживает определение следующих типов конечных точек службы извлечения:

  • Сервер конфигурации: репозиторий для конфигураций DSC. Определите серверы конфигурации с помощью блоков ConfigurationRepositoryWeb (для веб-серверов) и ConfigurationRepositoryShare (для серверов на основе SMB).
  • Сервер ресурсов: репозиторий для ресурсов DSC, упакованных в виде модулей PowerShell. Определите серверы ресурсов с помощью блоков ResourceRepositoryWeb (для веб-серверов) и ResourceRepositoryShare (для серверов на основе SMB).
  • Сервер отчетов: служба, в которую DSC отправляет данные отчета. Определение серверов отчетов с помощью блоков ReportServerWeb . Сервер отчетов должен быть веб-службой.

Дополнительные сведения о службе вытягивания см. в разделе Требуемая конфигурация службы вытягивания.

Блоки сервера конфигурации

Чтобы определить веб-сервер конфигурации, необходимо создать блок ConfigurationRepositoryWeb . ConfigurationRepositoryWeb определяет следующие свойства.

Недвижимость Тип Description
AllowUnsecureConnection bool Установите значение $TRUE , чтобы разрешить соединения между узлом и сервером без аутентификации. Установите значение $FALSE , чтобы требовать аутентификацию.
Идентификатор сертификата струна Отпечаток сертификата, используемого для проверки подлинности на сервере.
ConfigurationNames String[] Массив имен конфигураций, которые должны быть извлечены целевым узлом. Они используются только в том случае, если узел зарегистрирован в службе извлечения с помощью RegistrationKey. Дополнительные сведения см. в разделе Настройка опрашивающего клиента с именами конфигураций.
Регистрационный ключ струна GUID, который регистрирует узел в службе pull. Дополнительные сведения см. в разделе Настройка опрашивающего клиента с именами конфигураций.
СерверURL струна URL-адрес службы конфигурации.
ПроксиURL* струна URL-адрес прокси-сервера HTTP, который будет использоваться при обмене данными со службой конфигурации.
ProxyCredential* pscredential Учетные данные для использования в прокси-сервере http.

Замечание

Поддерживается в Windows версии 1809 и более поздних.

Доступен пример скрипта для упрощения настройки значения ConfigurationRepositoryWeb для локальных узлов — см. раздел Создание метаконфигураций DSC

Чтобы определить сервер конфигурации на основе SMB, необходимо создать блок ConfigurationRepositoryShare . ConfigurationRepositoryShare определяет следующие свойства.

Недвижимость Тип Description
Credential MSFT_Credential Учетные данные, используемые для проверки подлинности в общей папке SMB.
SourcePath струна Путь к шаре SMB.

Блоки сервера ресурсов

Чтобы определить сервер веб-ресурсов, необходимо создать блок ResourceRepositoryWeb . ResourceRepositoryWeb определяет следующие свойства.

Недвижимость Тип Description
AllowUnsecureConnection bool Установите значение $TRUE , чтобы разрешить соединения между узлом и сервером без аутентификации. Установите значение $FALSE , чтобы требовать аутентификацию.
Идентификатор сертификата струна Отпечаток сертификата, используемого для проверки подлинности на сервере.
Регистрационный ключ струна Идентификатор GUID, идентифицирующий узел для службы pull.
СерверURL струна URL-адрес сервера конфигурации.
ПроксиURL* струна URL-адрес прокси-сервера HTTP, который будет использоваться при обмене данными со службой конфигурации.
ProxyCredential* pscredential Учетные данные для использования в прокси-сервере http.

Замечание

Поддерживается в Windows версии 1809 и более поздних.

Доступен пример скрипта для упрощения настройки значения ResourceRepositoryWeb для локальных узлов - см. раздел Создание метаконфигураций DSC

Чтобы определить сервер ресурсов на основе SMB, необходимо создать блок ResourceRepositoryShare . ResourceRepositoryShare определяет следующие свойства.

Недвижимость Тип Description
Credential MSFT_Credential Учетные данные, используемые для проверки подлинности в общей папке SMB. Пример передачи учетных данных см. в разделе Настройка опрашивающего сервера DSC SMB
SourcePath струна Путь к шаре SMB.

Блоки сервера отчетов

Чтобы определить сервер отчетов, необходимо создать блок ReportServerWeb . Роль сервера отчетов несовместима со службой извлечения на основе SMB. ReportServerWeb определяет следующие свойства.

Недвижимость Тип Description
AllowUnsecureConnection bool Установите значение $TRUE , чтобы разрешить соединения между узлом и сервером без аутентификации. Установите значение $FALSE , чтобы требовать аутентификацию.
Идентификатор сертификата струна Отпечаток сертификата, используемого для проверки подлинности на сервере.
Регистрационный ключ струна Идентификатор GUID, идентифицирующий узел для службы pull.
СерверURL струна URL-адрес сервера конфигурации.
ПроксиURL* струна URL-адрес прокси-сервера HTTP, который будет использоваться при обмене данными со службой конфигурации.
ProxyCredential* pscredential Учетные данные для использования в прокси-сервере http.

Замечание

Поддерживается в Windows версии 1809 и более поздних.

Доступен пример скрипта для упрощения настройки значения ReportServerWeb для локальных узлов - см. раздел Создание метаконфигураций DSC

Частичные конфигурации

Чтобы определить частичную конфигурацию, необходимо создать блок PartialConfiguration . Дополнительные сведения о частичных конфигурациях см. в разделе Частичные конфигурации DSC. PartialConfiguration определяет следующие свойства.

Недвижимость Тип Description
ConfigurationSource (Источник конфигурации) строка[] Массив имен серверов конфигурации, ранее определенных в блоках ConfigurationRepositoryWeb и ConfigurationRepositoryShare , из которых извлекается частичная конфигурация.
ЗависитОт струна{} Список имен других конфигураций, которые должны быть завершены перед применением этой частичной конфигурации.
Description струна Текст, используемый для описания частичной конфигурации.
Эксклюзивные ресурсы строка[] Массив ресурсов, эксклюзивных для этой частичной конфигурации.
Режим обновления струна Указывает, как LCM получает эту частичную конфигурацию. Возможные значения: "Disabled","Push" и "Pull".
  • Отключено: Эта частичная конфигурация отключена.
  • Отправка: частичная конфигурация передается на узел путем вызова командлета Publish-DscConfiguration . После того как все частичные конфигурации узла отправлены или извлечены из службы, конфигурацию можно запустить с помощью вызова Start-DscConfiguration –UseExisting. Это значение по умолчанию.
  • Тянуть: Узел настроен на регулярную проверку частичной конфигурации от службы извлечения. Если для этого свойства задано значение Pull, необходимо указать службу pull в свойстве ConfigurationSource . Дополнительные сведения о службе извлечения службы службы автоматизации Azure см. в статье Общие сведения о DSC службы автоматизации Azure.
РесурсМодульИсточник строка[] Массив имен серверов ресурсов, с которых необходимо загрузить необходимые ресурсы для данной частичной конфигурации. Эти имена должны относиться к конечным точкам службы, ранее определенным в блоках ResourceRepositoryWeb и ResourceRepositoryShare .

Замечание

DSC службы автоматизации Azure поддерживает частичные конфигурации, но из каждой учетной записи службы автоматизации на узле можно извлечь только одну конфигурацию.

См. также

Концепции

Обзор конфигурации требуемого состояния

Начало работы с DSC службы автоматизации Azure

Другие ресурсы

Set-DscLocalConfigurationManager

Настройка опрашивающего клиента с именами конфигураций