Serviços do Windows não iniciando automaticamente?

14

Ultimamente, tivemos alguns problemas de sincronização desagradável em nossos servidores Windows Server 2008 R2.

Rastreei isso de volta a algo muito simples: o Windows Time Service não foi iniciado! O horário não pode ser sincronizado via NTP quando o serviço de horário não está sendo executado ...

O Windows Time Service foi definido para iniciar "automaticamente" no painel de controle de serviços, verificado duas vezes e três vezes. Também verifiquei os logs de eventos e não vi nenhuma falha no serviço ou algo assim. De fato, parecia muito com o Windows Time Service nunca iniciado automaticamente após a instalação das atualizações semanais do Windows e a reinicialização dos servidores. (isso está programado para acontecer todos os sábados às 19h.)

No minuto em que iniciei o Serviço de horário, o horário foi sincronizado.

Então, então, a pergunta: por que um serviço definido para iniciar "Automaticamente" ... não seria iniciado automaticamente? Isso parece meio louco para mim.

Jeff Atwood
fonte

Respostas:

11

O W32time não será iniciado automaticamente se o PC não estiver em um domínio. Maldita Microsoft!

Tente executar o seguinte: sc triggerinfo w32time start/networkon stop/networkoff

ARPcPro
fonte
confirmado aqui mcbsys.com/techblog/2010/09/…, então aceitarei sua resposta - obrigado!
Jeff Atwood
4

Uma explicação possível, a partir deste tópico :

Do jeito que eu entendi, basicamente o serviço não será ativado até que você ou uma tarefa ou peça de hardware ou rede inicie um evento para ativá-lo. Ao tentar atualizar a hora, você liga para o serviço e aciona o evento 'Iniciar serviço xyz'. Também pode desativar o serviço quando terminar. Isso é muito simplificado. Essa é uma das razões pelas quais sete é mais rápido, porque muitos serviços estão sendo executados apenas quando necessário, em vez de serem executados o tempo todo esperando que algo os utilize. Na verdade, você não precisa decidir de quais serviços precisa ou não, eles podem cuidar de si mesmos.

Ele está falando sobre o novo kernel no Windows 7.

Como o Windows Server 2008 R2 e o Windows 7 compartilham o mesmo kernel, será que a resolução é a mesma?

Eles recomendam definir o serviço para início automático / atrasado para corrigir isso.

Ainda mantenho absolutamente insano que um serviço definido como automático não seja iniciado ... e não entendo completamente a diferença semântica entre uma inicialização automática atrasada e uma inicialização automática, mas se funcionar, acho que não vai reclamar.

Jeff Atwood
fonte
Enquanto estiver no Windows 7, esse pode ser o caso. É difícil acreditar que eles teriam o mesmo sistema no win 2k8, especialmente com uma máquina em um domínio, pois a sincronização de tempo é tão vital para a autenticação.
Zypher 5/02/10
bem, eu tenho 100% confirmado que este é um serviço definido como automático que inexplicavelmente NÃO está sendo executado. O curioso é que todos os outros serviços configurados para Automático (início atrasado ou não), exceto "Proteção de software", estão em execução. O que há de especial no w32time que impede sua execução automaticamente?
Jeff Atwood
1

Infelizmente, com o tempo do Windows, você ativa manualmente o log .

Não há uma boa resposta para "o que faria um serviço não iniciar automaticamente". O único motivo real é que uma dependência não foi iniciada corretamente ou houve algum tipo de falha no serviço quando iniciado. E sem registros, bem, seu palpite é tão bom quanto o nosso.

Eu sugeriria ativar o registro de horas do Windows nos próximos dois ciclos de patches. Se o serviço surgir, você estará bem, se não tiver algo para trabalhar.

Apenas como observação, vi mais de uma vez que os serviços decidem não iniciar por um bom motivo após um patch, mas funcionam bem após a primeira reinicialização.


Começou a escrever um comentário e ficou sem espaço.

Você realmente obteria algumas informações desse log.

  1. Se não houver nenhum registro, ele nem está tentando iniciar. E você pode começar a pesquisar a partir daí, cada pedacinho de informação ajuda nesses tipos de problemas.

  2. Como é um log de depuração, você está ativando o link acima e deve obter algo se ele tentar iniciar. Você terá pelo menos uma idéia melhor de por que está falhando ao iniciar com êxito.

Você descobriu uma das grandes dores de ser um administrador de sistemas: você precisa de logs para dizer por onde começar a procurar, mas o serviço não está chegando a um ponto em que pode gerar logs. Uma galinha clássica e o problema dos ovos.

Zypher
fonte
Eu não acho que o log ajudaria necessariamente nesse caso, porque ele nem está funcionando. E, uma vez que o serviço esteja sendo executado, ele funciona muito bem! A verdadeira questão é: por que não está funcionando?
Jeff Atwood
Você está em um domínio? Quais são as regras de tempo para o seu domínio?
Trevoke 5/02
0

Obrigado, eu configurei alguns serviços que não estavam iniciando no Windows Server 2016 como atrasados ​​e funcionou, mas não pude fazer isso para o serviço antivírus, pois ele está protegido contra modificações.

No entanto, eu encontrei essa solução alternativa, que funcionou, mesmo que fosse para 2008 R2: https://support.microsoft.com/en-us/help/922918/a-service-does-not-start-and- eventos-7000-e-7011-estão-conectados-no-servidor-windows-2003-windows-server-2008-e-windows-server-2008-r2

Provavelmente, isso iniciará qualquer serviço, sem configurá-los para o início atrasado. Funcionou para o antivírus, com certeza.

Vou colar a parte mais útil da solução aqui:

Para contornar esse problema, modifique o registro para aumentar o valor de tempo limite padrão para o gerenciador de controle de serviço. Para aumentar esse valor para 60 segundos, siga estas etapas:

Click Start, click Run, type regedit, and then click OK.
Locate and then click the following registry subkey:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control
In the right pane, locate the ServicesPipeTimeout entry.

Note: If the ServicesPipeTimeout entry does not exist, you must create it. To do this, follow these steps:

    On the Edit menu, point to New, and then click DWORD Value.
    Type ServicesPipeTimeout, and then press ENTER. 
Right-click ServicesPipeTimeout, and then click Modify.
Click Decimal, type 60000, and then click OK.

This value represents the time in milliseconds before a service times out.
Restart the computer.
fsr
fonte