I servizi di Windows non si avviano automaticamente?


14

Ultimamente abbiamo avuto problemi di sincronizzazione oraria sui nostri server Windows Server 2008 R2.

L'ho fatto risalire a qualcosa di molto semplice: il servizio ora di Windows non è stato avviato! Non è possibile sincronizzare l'ora tramite NTP quando il servizio orario non è in esecuzione ...

Il servizio ora di Windows è stato impostato per l'avvio "automaticamente" nel pannello di controllo dei servizi, che ho ricontrollato tre volte. Ho anche controllato i registri degli eventi e non ho riscontrato errori di servizio o simili. In effetti, sembrava molto simile al fatto che il servizio ora di Windows non si avviava automaticamente dopo l'installazione degli aggiornamenti settimanali di Windows e il riavvio dei server. (questo accadrà ogni sabato alle 19:00).

Nel momento in cui ho avviato il servizio ora, l'ora si è sincronizzata bene.

Quindi, quindi, la domanda: perché un servizio impostato per l'avvio "Automatico" ... non dovrebbe essere avviato automaticamente? Mi sembra un po 'folle.

Risposte:


11

W32time non si avvierà automaticamente se il PC non si trova in un dominio. Accidenti a Microsoft!

Prova a eseguire questo: sc triggerinfo w32time start/networkon stop/networkoff


confermato qui mcbsys.com/techblog/2010/09/… quindi accetterò la tua risposta - grazie!
Jeff Atwood,

4

Una possibile spiegazione, da questa discussione :

Per come l'ho capito, fondamentalmente il servizio non verrà attivato fino a quando tu, un'attività o un componente hardware o di rete, avvierai un evento per attivarlo. Quando si tenta di aggiornare l'ora, si chiama il servizio e si attiva l'evento "Avvia servizio xyz". Può anche disattivare il servizio al termine. È molto semplificato. È uno dei motivi per cui sette è più veloce, perché molti servizi sono in esecuzione solo quando necessario invece di essere sempre in attesa di qualcosa che li usi. In effetti non devi cercare di decidere quali servizi hai bisogno o meno, possono prendersi cura di se stessi.

Sta parlando del nuovo kernel in Windows 7.

Poiché Windows Server 2008 R2 e Windows 7 condividono lo stesso kernel, mi chiedo se la risoluzione sia la stessa?

Raccomandano di impostare il servizio su avvio automatico / ritardato per risolvere questo problema.

Continuo a sostenere che è assolutamente folle che un servizio impostato su automatico non venga avviato ... e non capisco completamente la differenza semantica tra un avvio ritardato e un avvio automatico, ma se funziona, immagino di non si lamenterà.


Su Windows 7 potrebbe essere il caso. Ho difficoltà a credere che avrebbero lo stesso sistema in Win 2k8, specialmente con una macchina su un dominio poiché la sincronizzazione temporale è così vitale per l'autenticazione.
Zypher,

bene, ho confermato al 100% che questo è un servizio impostato su Automatico che inspiegabilmente NON era in esecuzione. La cosa strana è che tutti gli altri servizi impostati su Automatico (avvio ritardato o meno), salvo "Protezione software", sono in esecuzione .. cosa c'è di speciale in w32time che ne impedisce l'esecuzione automatica?
Jeff Atwood,

1

Sfortunatamente con Windows Time hai attivato manualmente la registrazione .

Non esiste una buona risposta a "cosa potrebbe impedire l'avvio automatico di un servizio". L'unico vero motivo è che una dipendenza non è stata avviata correttamente o si è verificato un arresto anomalo nel servizio all'avvio. E senza registri, bene la tua ipotesi è buona come la nostra.

Suggerirei di attivare la registrazione del tempo di Windows per i prossimi due cicli di patch. Se il servizio arriva tutto bene, se non hai qualcosa su cui lavorare.

Proprio come nota, ho visto più di una volta che i servizi decidono di non avviarsi senza una buona ragione dopo una patch, ma funzionano bene dopo quel primo riavvio.


Ha iniziato a scrivere un commento, quindi ha esaurito lo spazio.

Si otterrebbero effettivamente alcune informazioni da questo registro.

  1. Se non è presente alcun registro, non sta nemmeno tentando di avviarsi. E puoi iniziare la ricerca da lì, ogni piccola porzione di informazioni aiuta su questi tipi di problemi.

  2. Dal momento che si tratta di un registro di debug che stai accendendo con il link sopra, dovresti ottenere qualcosa se tenta di avviarsi. Almeno avrai un'idea migliore del motivo per cui non si avvia correttamente.

Hai scoperto uno dei grandi problemi di essere un amministratore di sistema: hai bisogno di registri per dirti da dove iniziare a cercare, ma il servizio non sta arrivando al punto in cui può generare registri. Un classico pollo e il problema delle uova.


Non penso che la registrazione sarebbe di grande aiuto in questo caso, perché non è nemmeno in esecuzione per la registrazione. E, una volta avviato, il servizio funziona alla grande! La vera domanda è: perché non funziona?
Jeff Atwood,

Sei su un dominio? Quali sono le regole temporali per il tuo dominio?
Trevoke,

0

Grazie, ho impostato alcuni servizi che non si avviavano su Windows Server 2016 in modo che funzionasse, ma non ho potuto farlo per il servizio antivirus, poiché è protetto dalle modifiche.

Tuttavia, ho trovato questa soluzione, che ha funzionato, anche se era per il 2008 R2: https://support.microsoft.com/en-us/help/922918/a-service-does-not-start-and- eventi-7000-e-7011-sono-loggato-windows-server-2003-windows-server-2008-e-windows-server-2008-r2

Probabilmente questo farà partire qualsiasi servizio, senza impostarli su un avvio ritardato. Ha funzionato per l'antivirus, questo è certo.

Incollerò la parte più utile del work-around qui:

Per aggirare questo problema, modificare il Registro di sistema per aumentare il valore di timeout predefinito per il gestore controllo servizi. Per aumentare questo valore a 60 secondi, attenersi alla seguente procedura:

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.
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.