Настройка LCM в PowerShell 4.0
Область применения: Windows PowerShell 4.0
Сведения, относящиеся к Windows PowerShell 5.0 и более поздней версии, см. в разделе Настройка локального диспетчера конфигураций.
Локальный диспетчер конфигураций — это механизм настройки требуемого состояния (DSC) Windows PowerShell. Он работает на всех целевых узлах и отвечает за вызов ресурсов конфигураций, включенных в сценарий конфигурации DSC. В этом разделе перечислены свойства локального диспетчера конфигураций и описано, как изменять параметры локального диспетчера конфигурации на целевом узле.
Свойства локального диспетчера конфигураций
Ниже перечислены свойства локального диспетчера конфигураций, которые можно задавать или извлекать.
- AllowModuleOverwrite: определяет, могут ли новые конфигурации, которые скачиваются из службы настройки, перезаписывать старые конфигурации, уже находящиеся в целевом узле. Возможные значения — True и False.
- CertificateID: отпечаток сертификата, защищающего учетные данные, которые передаются в конфигурацию. Дополнительные сведения см. в статье Защита учетных данных в службе настройки требуемого состояния Windows PowerShell.
- ConfigurationID: GUID, используемый для получения определенного файла конфигурации из опрашивающей службы. Этот GUID обеспечивает доступ к нужному файлу конфигурации.
- ConfigurationMode: указывает, как именно локальный диспетчер конфигураций применяет конфигурацию к целевым узлам. Этот параметр может принимать перечисленные ниже значения.
- ApplyOnly: если выбран этот параметр, DSC применяет конфигурацию и не выполняет никаких действий, пока не будет обнаружена новая конфигурация. Это произойдет, если вы принудительно отправите новую конфигурацию в целевой узел или подключите опрашивающую службу, а DSC обнаружит новую конфигурацию при ее проверке. При расхождениях с конфигурацией на целевом узле никакие действия не предпринимаются.
- ApplyAndMonitor: если выбран этот параметр (он используется по умолчанию), DSC применяет все новые конфигурации, как отправленные вами в целевой узел, так и обнаруженные в опрашивающей службе. Затем, если конфигурация на целевом узле отличается от файла конфигурации, DSC сообщает о расхождении в журналах. Дополнительные сведения о ведении журналов DSC см. в статье Использование журналов событий для диагностики ошибок в службе настройки требуемого состояния.
- ApplyAndAutoCorrect: если выбран этот параметр, DSC применяет все новые конфигурации, как отправленные вами в целевой узел, так и обнаруженные в опрашивающей службе. Затем, если конфигурация на целевом узле отличается от файла конфигурации, DSC сообщает о расхождении в журналах и пытается привести конфигурацию на целевом узле в соответствие с файлом конфигурации.
- ConfigurationModeFrequencyMins: указывает, с какой частотой (в минутах) фоновое приложение DSC будет пытаться применить текущую конфигурацию на целевом узле. Значение по умолчанию — 15. Это свойство может быть задано в сочетании со свойством RefreshMode. Если свойство RefreshMode имеет значение PULL, целевой узел подключается к службе настройки с интервалом, заданным свойством RefreshFrequencyMins, и загружает текущую конфигурацию. Независимо от значения свойства RefreshMode модуль обеспечения согласованности применяет последнюю конфигурацию, загруженную на целевой узел, с интервалом, заданным свойством ConfigurationModeFrequencyMins. Значение свойства RefreshFrequencyMins должно быть выражено целым числом, кратным значению свойства ConfigurationModeFrequencyMins.
- Credential: указывает учетные данные (как при использовании командлета Get-Credential), необходимые для доступа к удаленным ресурсам, например для подключения к службе настройки.
- DownloadManagerCustomData: представляет массив, который содержит пользовательские данные, относящиеся к диспетчеру загрузки.
- DownloadManagerName: указывает имя конфигурации и диспетчер загрузки модулей.
- RebootNodeIfNeeded: задайте значение
$true
, разрешающее ресурсам перезагружать узел, с помощью флага$global:DSCMachineStatus
. В противном случае для каждой такой конфигурации узел придется перезагружать вручную. Значение по умолчанию —$false
. Чтобы использовать этот параметр, если условие перезагрузки инициируется не с помощью DSC (а например, установщика Windows), объедините этот параметр с модулем xPendingReboot. - RefreshFrequencyMins: используется при настройке опрашивающей службы. Представляет частоту (в минутах), с которой локальный диспетчер конфигураций подключается к опрашивающей службе для скачивания текущей конфигурации. Это свойство может быть задано в сочетании со свойством ConfigurationModeFrequencyMins. Если свойство RefreshMode имеет значение PULL, целевой узел подключается к опрашивающей службе с интервалом, заданным свойством RefreshFrequencyMins, и скачивает текущую конфигурацию. Модуль обеспечения согласованности применяет последнюю конфигурацию, загруженную на целевой узел, с интервалом, заданным свойством ConfigurationModeFrequencyMins. Если значение свойства RefreshFrequencyMins не выражено целым числом, кратным значению свойства ConfigurationModeFrequencyMins, система его округлит. Значение по умолчанию — 30.
- RefreshMode: возможные значения — Push (по умолчанию) и Pull. Если выбрана конфигурация push, файл конфигурации необходимо разместить на каждом целевом узле, используя любой клиентский компьютер. В режиме pull необходимо настроить опрашивающую службу для локального диспетчера конфигураций, чтобы он мог подключаться и осуществлять доступ к файлам конфигураций.
Примечание
LCM запустит цикл ConfigurationModeFrequencyMins на основе:
- Применяется новая метаконфигурация с помощью
Set-DscLocalConfigurationManager
. - Перезагрузка компьютера.
В любой ситуации, когда в процессе таймера возникает сбой, который обнаруживается в течение 30 секунд, цикл будет перезапущен. Параллельная операция может задержать запуск цикла, если длительность этой операции превышает настроенную частоту цикла, и очередной таймер не запустится.
Например, метаконфигурация настроена с частотой опроса в 15 минут, и в момент T1 происходит опрос. Узел не завершает работу 16 минут. Первый 15-минутный цикл игнорируется, и далее запрос произойдет в момент T1+15+15.
Примеры обновления настроек локального диспетчера конфигураций
Настройки локального диспетчера конфигураций на целевом узле можно обновить, включив блок LocalConfigurationManager в блоке узла в сценарий конфигурации, как показано в следующем примере.
Configuration ExampleConfig
{
Node "Server001"
{
LocalConfigurationManager
{
ConfigurationID = "646e48cb-3082-4a12-9fd9-f71b9a562d4e"
ConfigurationModeFrequencyMins = 45
ConfigurationMode = "ApplyAndAutocorrect"
RefreshMode = "Pull"
RefreshFrequencyMins = 90
DownloadManagerName = "WebDownloadManager"
DownloadManagerCustomData = (@{ServerUrl="https://$PullService/psdscpullserver.svc"})
CertificateID = "71AA68562316FE3F73536F1096B85D66289ED60E"
Credential = $cred
RebootNodeIfNeeded = $true
AllowModuleOverwrite = $false
}
# One or more resource blocks can be added here
}
}
# The following line invokes the configuration and creates a file called
# Server001.meta.mof at the specified path
ExampleConfig -OutputPath "c:\users\public\dsc"
При выполнении сценария из предыдущего примера создается MOF-файл с желаемыми настройками. Для применения настроек используйте командлет Set-DscLocalConfigurationManager, как показано в следующем примере.
Set-DscLocalConfigurationManager -Path "c:\users\public\dsc"
Примечание
Для параметра Path необходимо указать тот же путь, который был указан для параметра OutputPath при вызове конфигурации в предыдущем примере.
Для просмотра текущих настроек локального диспетчера конфигураций можно использовать командлет Get-DscLocalConfigurationManager. Если вызвать этот командлет без параметров, он по умолчанию получит настройки локального диспетчера конфигураций для узла, на котором был выполнен. Чтобы указать другой узел, задайте в этом командлете параметр CimSession.