¿Cómo utilizar PowerShell DSC para mantener en ejecución los servicios en Windows Server?

¿Cómo utilizar PowerShell DSC para mantener en ejecución los servicios en Windows Server?

Recientemente me di cuenta de que nuestras máquinas virtuales Windows Server 2016 en Azure a veces no pueden iniciar algunos de sus servicios después de reiniciar el sistema (por ejemplo, ADFS, Remote Desktop Broker y otros) a pesar de que están configurados en Automático y he configurado el Opciones de recuperación para reiniciar el servicio en caso de falla. Esto sucede incluso cuando ha pasado un largo período de tiempo desde el reinicio, por lo que no es cuestión de esperar. Cuando voy e inicio el servicio manualmente, funciona bien.

Lo que me gustaría hacer es usar PowerShell DSC para garantizar que todos los servicios que tengan un tipo de inicio configurado en Automático/Automático retrasado estén siempre ejecutándose. encontré lo siguienteentrada en el blogque explica cómo hacer esto para un servicio individual, pero ¿cómo lo haría para CUALQUIER servicio que tenga el inicio configurado en Automático?

Encontré otra publicación útil.aquípero es un script de PowerShell normal y me gustaría hacerlo con DSC.

Gracias.


Actualización: he utilizado el siguiente recurso de secuencia de comandos DSC:

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
                }
        }

Respuesta1

No puede hacer eso con powershell dsc a menos que use un paso de guión o una lista de servicios.

información relacionada