Назад | Перейти на главную страницу

Как правильно обрабатывать ошибки при настройке push?

В настоящее время я создаю лабораторную среду, чтобы понять, чего может добиться 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-файлы в одну папку и дважды в день запускайте запланированную задачу, которая отправляет их на ваши узлы. Это было бы очень легко настроить и управлять. Установите и забудьте.

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

Вы столкнетесь с самыми большими проблемами в начале, пытаясь настроить все существующие серверы. Но в дальнейшем развертывание нового сервера будет в состоянии, которым вы сможете управлять во время процесса подготовки.