Windows-Dienste starten nicht automatisch?


14

Wir hatten in letzter Zeit einige Probleme mit der Zeitsynchronisierung auf unseren Windows Server 2008 R2-Servern.

Ich habe dies auf etwas sehr Einfaches zurückgeführt: Der Windows-Zeitdienst wurde nicht gestartet! Die Zeit kann möglicherweise nicht über NTP synchronisiert werden, wenn der Zeitdienst nicht ausgeführt wird ...

Der Windows- Zeitdienst wurde so eingestellt, dass er in der Systemsteuerung der Dienste "automatisch" startet , was ich doppelt und dreifach überprüft habe. Ich habe auch die Ereignisprotokolle überprüft und keine Dienstausfälle oder ähnliches festgestellt. Tatsächlich sah es so aus, als würde der Windows-Zeitdienst nie automatisch gestartet, nachdem die wöchentlichen Windows-Updates installiert und die Server neu gestartet wurden. (Dies soll jeden Samstag um 19 Uhr geschehen.)

In dem Moment, in dem ich den Zeitdienst gestartet habe, ist die Zeit in Ordnung.

Daher die Frage: Warum sollte ein Dienst, der auf "Automatisch" eingestellt ist, nicht automatisch gestartet werden? Das kommt mir irgendwie verrückt vor.

Antworten:


11

W32time wird nicht automatisch gestartet, wenn sich der PC nicht in einer Domäne befindet. Verdammter Microsoft!

Versuchen Sie Folgendes auszuführen: sc triggerinfo w32time start/networkon stop/networkoff


hier bestätigt mcbsys.com/techblog/2010/09/… also werde ich deine antwort annehmen - danke!
Jeff Atwood

4

Eine mögliche Erklärung aus diesem Thread :

So wie ich es verstanden habe, wird der Dienst im Grunde genommen erst eingeschaltet, wenn Sie oder eine Aufgabe oder ein Teil der Hardware oder des Netzwerks ein Ereignis starten, um ihn einzuschalten. Wenn Sie versuchen, die Uhrzeit zu aktualisieren, rufen Sie den Dienst auf und lösen das Ereignis "xyz-Dienst starten" aus. Es kann auch den Dienst abschalten, wenn Sie fertig sind. Das ist sehr vereinfacht. Dies ist ein Grund, warum Sieben schneller ist, da viele Dienste nur bei Bedarf ausgeführt werden, anstatt die ganze Zeit darauf zu warten, dass sie von etwas verwendet werden. In der Tat müssen Sie nicht versuchen zu entscheiden, welche Dienste Sie benötigen oder nicht, sie können für sich selbst sorgen.

Er spricht über den neuen Kernel in Windows 7.

Da Windows Server 2008 R2 und Windows 7 denselben Kernel verwenden, frage ich mich, ob die Auflösung gleich ist.

Sie empfehlen , den Dienst auf automatischen / verzögerten Start einzustellen, um dies zu beheben.

Ich halte es immer noch für verrückt, dass ein auf Automatisch eingestellter Dienst nicht gestartet werden würde ... und ich verstehe den semantischen Unterschied zwischen einem verzögerten Autostart und einem Autostart nicht ganz, aber wenn es funktioniert, denke ich werde mich nicht beschweren.


Unter Windows 7 kann dies der Fall sein. Es fällt mir schwer zu glauben, dass sie unter Win 2k8 dasselbe System haben würden, insbesondere bei einem Computer in einer Domäne, da die Zeitsynchronisierung für die Authentifizierung so wichtig ist.
Zypher

Nun, ich habe zu 100% bestätigt, dass dies ein auf Automatisch eingestellter Dienst ist, der aus unerklärlichen Gründen NICHT ausgeführt wurde. Das Seltsame ist, dass alle anderen Dienste, die auf Automatisch eingestellt sind (verzögerter Start oder nicht), außer "Softwareschutz", ausgeführt werden. Was ist das Besondere an w32time, das verhindert, dass es automatisch ausgeführt wird?
Jeff Atwood

1

Leider müssen Sie mit Windows die Protokollierung manuell einschalten .

Es gibt keine gute Antwort auf die Frage, was dazu führen würde, dass ein Dienst nicht automatisch gestartet wird. Der einzige wirkliche Grund ist, dass eine Abhängigkeit nicht richtig gestartet wurde oder der Dienst beim Start abstürzte. Und ohne Protokolle ist Ihre Vermutung genauso gut wie unsere.

Ich würde vorschlagen, die Windows-Zeitprotokollierung für die nächsten Patch-Zyklen zu aktivieren. Wenn der Service kommt, sind Sie alle gut, wenn es nicht etwas gibt, von dem Sie arbeiten können.

Nur als Hinweis, ich habe mehr als einmal gesehen, dass sich Dienste dazu entschließen, nach einem Patch nicht ohne Grund zu starten, sondern nach dem ersten Neustart einwandfrei zu funktionieren.


Begann einen Kommentar zu schreiben, dann ging der Platz aus.

Sie würden tatsächlich einige Informationen aus diesem Protokoll erhalten.

  1. Wenn überhaupt kein Protokoll vorhanden ist, wird nicht einmal versucht, zu starten. Und von dort aus können Sie nachforschen, jede kleine Information hilft bei solchen Problemen.

  2. Da es sich um ein Debug-Protokoll handelt, das Sie über den obigen Link aktivieren, sollten Sie etwas erhalten , wenn es gestartet werden soll. Sie haben zumindest eine bessere Vorstellung davon, warum der Start fehlschlägt.

Sie haben eines der größten Probleme als Systemadministrator entdeckt: Sie benötigen Protokolle, um zu erfahren, wo Sie suchen müssen, aber der Dienst erreicht nicht den Punkt, an dem Protokolle generiert werden können. Ein klassisches Henne-Ei-Problem.


Ich denke nicht, dass die Protokollierung in diesem Fall unbedingt helfen würde, da es nicht einmal läuft, um zu protokollieren. Und wenn der Dienst einmal läuft, funktioniert er großartig! Die eigentliche Frage ist, warum läuft es nicht ?
Jeff Atwood

Sind Sie in einer Domain? Was sind die Zeitregeln für Ihre Domain?
Trevoke

0

Vielen Dank, ich habe einige Dienste, die nicht unter Windows Server 2016 gestartet wurden, auf verzögert gesetzt und es hat funktioniert, aber ich konnte das nicht für den Antiviren-Dienst tun, da dieser vor Änderungen geschützt ist.

Allerdings habe ich diese Problemumgehung gefunden, die auch für 2008 R2 funktioniert hat: https://support.microsoft.com/en-us/help/922918/a-service-does-not-start-and- Ereignisse-7000-und-7011-sind-Windows-Server-2003-Windows-Server-2008-und-Windows-Server-2008-r2-angemeldet

Wahrscheinlich wird dadurch jeder Dienst gestartet, ohne dass der Start verzögert wird. Es funktionierte für das Antivirus, das ist sicher.

Ich werde den nützlichsten Teil der Umgehung hier einfügen:

Ändern Sie die Registrierung, um dieses Problem umzugehen, um den Standardzeitlimitwert für den Dienststeuerungs-Manager zu erhöhen. Gehen Sie folgendermaßen vor um diesen Wert auf 60 Sekunden zu erhöhen:

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.
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.