В настоящее время я создаю лабораторную среду, чтобы понять, чего может добиться DSC и где есть ограничения.
У нас есть требование распространять однократные конфигурации для группы узлов на основе таких критериев, как операционная система, членство в группе AD и подразделения, содержащие цели.
Итак, я разработал следующий примерный сценарий:
# Pulls computer objects from Active Directory
Function Get-Nodes
{
Param($OperatingSystem)
Get-AdComputer -Filter 'OperatingSystem -eq ${OperatingSystem}' -SearchBase "OU=SomeThing,DC=contoso,DC=com"
}
# Defines the configuration to apply
Configuration ConfigureHostsPush
{
Node $Allnodes.NodeName
{
# This resource is not able to delete a key, only values
Registry ConfigureRegistry
{
Ensure = "Present"
Key = "HKEY_LOCAL_MACHINE\SOFTWARE\"
ValueName = "MachineType"
ValueData = "Hyper-V"
}
# This logs the defined message at the _destination_ host
# within Microsoft->Windows->DesiredStateConfiguration->Analytic
# requires showing and enabling the log first!
Log LogSuccessfulRegistry
{
Message = "Successfully configued the defined registry value"
DependsOn = "[Registry]ConfigureRegistry"
}
}
}
$nodes = Get-Nodes -OperatingSystem "Windows Server 2012 R2 Standard"
# $nodes = Get-Nodes -OperatingSystem "Windows Server 2008 R2 Standard"
# $nodes = Get-Nodes -OperatingSystem "Windows 7 Professional"
# Pulls a list of nodes into a hash table
$ConfigData = @{
AllNodes = @(
foreach ($node in $nodes)
{
@{NodeName = $node.Name}
}
)
}
# Generate the MOFs based on the configuration and hosts pulled from AD
ConfigureHostsPush -ConfigurationData $ConfigData
# Actually push out the configuration to the nodes
Start-DscConfiguration -wait -Path D:\DATA\DSC\ConfigureHostsPush
Однако некоторые из узлов не всегда доступны и в моем случае отключены. Как мне выполнять обработку ошибок и регистрацию? Так что позже я могу контролировать, какие узлы были успешно настроены или нуждаются в реконфигурации.
Я знаю, что могу использовать ресурс журнала DSC, но он кажется довольно ограниченным и генерирует журналы только на стороне LCM / целевого узла.
Один из подходов - просто не отслеживать. Просто поместите все свои mof-файлы в одну папку и дважды в день запускайте запланированную задачу, которая отправляет их на ваши узлы. Это было бы очень легко настроить и управлять. Установите и забудьте.
Ожидаемый вариант использования - установка опрашивающего сервера. Вам по-прежнему необходимо настроить каждый узел для взаимодействия с опрашивающим сервером. Поскольку узлы должны регистрироваться на опрашивающем сервере, у вас есть центральное расположение, которое сообщает вам, зарегистрирован ли узел и правильно ли он настроен. Вы также можете изменить конфигурацию на опрашивающем сервере, и узел получит ее при следующей проверке. Вам не нужно присматривать за процессом толчка.
Вы столкнетесь с самыми большими проблемами в начале, пытаясь настроить все существующие серверы. Но в дальнейшем развертывание нового сервера будет в состоянии, которым вы сможете управлять во время процесса подготовки.