Como usar o PowerShell DSC para manter os serviços no Windows Server em execução?

Como usar o PowerShell DSC para manter os serviços no Windows Server em execução?

Recentemente, notei que nossas VMs do Windows Server 2016 no Azure às vezes falham ao iniciar alguns de seus serviços após a reinicialização do sistema (por exemplo, ADFS, Remote Desktop Broker e outros), mesmo que estejam configurados como Automático e eu tenha definido o opções de recuperação para reiniciar o serviço em caso de falha. Isso acontece mesmo quando já passou um longo período de tempo desde a reinicialização, então não é uma questão de esperar. Quando inicio o serviço manualmente, ele funciona bem.

O que eu gostaria de fazer é usar o PowerShell DSC para garantir que todos os serviços que tenham um tipo de inicialização definido como Automático/Automático Atrasado estejam sempre em execução. Eu encontrei o seguintepostagem no blogque explica como fazer isso para um serviço individual, mas como eu faria isso para QUALQUER serviço que tenha a inicialização definida como Automática?

Encontrei outro post útilaquimas é um script normal do PowerShell e eu gostaria de fazer isso com o DSC.

Obrigado.


Atualização: usei o seguinte recurso DSC Script:

SetScript = {
            $service = Get-WmiObject -Class Win32_Service -Filter "startmode = 'auto' AND state != 'running'"
            foreach ($svc in $service)
                {
                    Start-Service $svc.Name
                }
        }
TestScript = {
            $service = Get-WmiObject -Class Win32_Service -Filter "startmode = 'auto' AND state != 'running'"
            if ($null -eq $service)
                {
                    return $true
                }
            else
                {
                    return $false
                }
        }

Responder1

Você não pode fazer isso com o PowerShell dsc, a menos que use uma etapa de script ou uma lista de serviços.

informação relacionada