Como sugerido por @RobM, você pode fornecer funcionalidade básica de monitoramento e recuperação através da guia de propriedades de serviço, embora na minha experiência isso tenda a não escalar bem em um grande número de servidores ou serviços e seja mais limitado do que gostaria. Se suas necessidades estão além dessa ferramenta básica, você pode licenciar qualquer número de suítes de monitoramento ou, se o custo for um fator, implementar seus próprios scripts de monitoramento de maneira bastante simples.
Se você tem mais de um fundo * nix, pode achar mais simples usar o SNMP para monitorar e controlar serviços, embora a opção nativa seja o WMI (Windows Management Instrumentation) e a linha de comando WMIC (Comando de Instrumentação de Gerenciamento do Windows) , que é muito poderoso quando você usa o jeito de usá-lo.
Por exemplo ... você pode obter uma listagem dos serviços em um computador de destino com:
WMIC /node:[hostname] SERVICE LIST
exiba uma lista de serviços em execução com:
WMIC SERVICE where (state=”running”) GET caption, name, state > services.tsv
e inicie o serviço de telnet com:
WMIC SERVICE where caption='TELNET' CALL STARTSERVICE
.
Um pouco de lógica na sua linguagem de script de escolha e você pode enviar alertas por e-mail quando um serviço específico não está em execução, iniciar, interromper ou reiniciar os serviços em uma programação e atender a todos os outros requisitos. O melhor de tudo, é nativo, e a única ferramenta que você precisa é de um CLI do Windows (tanto o cmd quanto o Powershell funcionam) e uma quantidade muito pequena de habilidade de script.