Windows Systemzeit
-
- Beiträge: 141
- Registriert: 28 Feb 2014, 10:21
Windows Systemzeit
Trotz der Lösung des einen Problems habe ich etwas, was mich schon länger beschäftigt und mir bereits bei zwei unabhängigen opsi-Umgebungen aufgefallen ist.
Bei Windows 7 ist der Dienst w32tm (bzw. W32Time / Windows-Zeitgeber), welcher sich um die Synchronisierung der Systemzeit mit dem Standardserver: time.windows.com kümmert nicht gestartet. Bei einer klassischen "per-Hand"-Installation ist dieser Dienst jedoch gestartet und die Zeit wird korrekt aktualisiert. In beiden Fällen steht der Dienst als Starttyp: Manuell drin. Ich weiß also nicht wodurch der bei einer klassischen Installation gestartet wird (vermutlich bein Login).
Ist es möglich dies in der Installation von Windows direkt einzuschalten? Dafür extra ein Produkt zu erstellen ist zwar möglich, aber lästig, da die Liste schon lang genug ist und die Zeit schließlich IMMER synchronisiert werden soll.
Vielen Dank im Voraus.
Bei Windows 7 ist der Dienst w32tm (bzw. W32Time / Windows-Zeitgeber), welcher sich um die Synchronisierung der Systemzeit mit dem Standardserver: time.windows.com kümmert nicht gestartet. Bei einer klassischen "per-Hand"-Installation ist dieser Dienst jedoch gestartet und die Zeit wird korrekt aktualisiert. In beiden Fällen steht der Dienst als Starttyp: Manuell drin. Ich weiß also nicht wodurch der bei einer klassischen Installation gestartet wird (vermutlich bein Login).
Ist es möglich dies in der Installation von Windows direkt einzuschalten? Dafür extra ein Produkt zu erstellen ist zwar möglich, aber lästig, da die Liste schon lang genug ist und die Zeit schließlich IMMER synchronisiert werden soll.
Vielen Dank im Voraus.
Re: Windows Systemzeit
Dein Verhalten ist mir noch nicht aufgefallen, allerdings passen wir mit einem Paket nach der Installation sowieso die komplette Installation durch Scripte und Regedit-Importe an.
Wir hatten z.B. unter Windows XP immer das Problem, dass Windows nach jedem Start 5 Minuten brauchte, um die Uhrzeit überhaupt korrekt zu synchronisieren.
Bei uns ist/war dies sehr kritisch, da unsere interne Verwaltungssoftware die Zeitstempel zwischen Client und Datenbankserver stets prüft.
Ich habe mir in zwei Schritten beholfen:
1) Registryimport der NTP-Settings (wir nutzen einen internen NTP Server, da wir so unnötigen WAN-Traffic vermeiden und auch keine "DDOS"-ähnlichen Attacken gegen NTP Server fahren wollen....
2) Zudem installiere ich einen Windows-Task, der bei Start, Login und Entsperrung der Arbeitsstation einen Sync auslöst (wir benötigen unbedingt genaue Timestamps zwecks Datenbankkonsistenzen!)
[DOSInAnIcon_set_ntptask]
schtasks /Delete /TN "Zeitabgleich" /F
schtasks /Create /XML %ScriptPath%\resources\zeitabgleich.xml /TN Zeitabgleich
Hoffe, diese Lösung hilft auch anderen in ähnlichen Szenarien...
Wir hatten z.B. unter Windows XP immer das Problem, dass Windows nach jedem Start 5 Minuten brauchte, um die Uhrzeit überhaupt korrekt zu synchronisieren.
Bei uns ist/war dies sehr kritisch, da unsere interne Verwaltungssoftware die Zeitstempel zwischen Client und Datenbankserver stets prüft.
Ich habe mir in zwei Schritten beholfen:
1) Registryimport der NTP-Settings (wir nutzen einen internen NTP Server, da wir so unnötigen WAN-Traffic vermeiden und auch keine "DDOS"-ähnlichen Attacken gegen NTP Server fahren wollen....
Code: Alles auswählen
; NTP Server auf ntp.XXX.org umstellen und Syncgeschwindigkeit erhöhen
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\W32Time]
"Start"=dword:00000003
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\W32Time\Config]
"MaxNegPhaseCorrection"=dword:FFFFFFFF
"MaxPosPhaseCorrection"=dword:FFFFFFFF
"AnnounceFlags"=dword:00000005
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\W32Time\Parameters]
"NtpServer"="ntp.XXX.org,0x1"
"Type"="NTP"
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\W32Time\TimeProviders\NtpClient]
"Enabled"=dword:00000001
"SpecialPollInterval"=dword:00000001
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\W32Time\TimeProviders\NtpServer]
"Enabled"=dword:00000000
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\DateTime\Servers]
@="1"
"1"="ntp.XXX.org"
"2"="ntp.XXX.de"
[DOSInAnIcon_set_ntptask]
schtasks /Delete /TN "Zeitabgleich" /F
schtasks /Create /XML %ScriptPath%\resources\zeitabgleich.xml /TN Zeitabgleich
Code: Alles auswählen
<?xml version="1.0" encoding="UTF-16"?>
<Task version="1.3" xmlns="http://schemas.microsoft.com/windows/2004/02/mit/task">
<RegistrationInfo>
<Source>Windows-Zeitgeber</Source>
<Author>mensch90</Author>
<Description>Regelmäßige Synchronisation der Uhrzeit mit ntp.XXX.de nach einem Start, Sperrung des Bildschirmes sowie Neuanmeldung.</Description>
<URI>Microsoft\Windows\Time Synchronization\SynchronizeTime</URI>
</RegistrationInfo>
<Triggers>
<BootTrigger>
<Enabled>true</Enabled>
</BootTrigger>
<LogonTrigger>
<Enabled>true</Enabled>
</LogonTrigger>
<SessionStateChangeTrigger>
<Enabled>true</Enabled>
<StateChange>SessionUnlock</StateChange>
</SessionStateChangeTrigger>
</Triggers>
<Principals>
<Principal id="LocalService">
<UserId>S-1-5-19</UserId>
<RunLevel>HighestAvailable</RunLevel>
</Principal>
</Principals>
<Settings>
<MultipleInstancesPolicy>IgnoreNew</MultipleInstancesPolicy>
<DisallowStartIfOnBatteries>false</DisallowStartIfOnBatteries>
<StopIfGoingOnBatteries>true</StopIfGoingOnBatteries>
<AllowHardTerminate>true</AllowHardTerminate>
<StartWhenAvailable>true</StartWhenAvailable>
<RunOnlyIfNetworkAvailable>true</RunOnlyIfNetworkAvailable>
<IdleSettings>
<StopOnIdleEnd>true</StopOnIdleEnd>
<RestartOnIdle>false</RestartOnIdle>
</IdleSettings>
<AllowStartOnDemand>true</AllowStartOnDemand>
<Enabled>true</Enabled>
<Hidden>false</Hidden>
<RunOnlyIfIdle>false</RunOnlyIfIdle>
<DisallowStartOnRemoteAppSession>false</DisallowStartOnRemoteAppSession>
<UseUnifiedSchedulingEngine>true</UseUnifiedSchedulingEngine>
<WakeToRun>false</WakeToRun>
<ExecutionTimeLimit>P3D</ExecutionTimeLimit>
<Priority>7</Priority>
<RestartOnFailure>
<Interval>PT1M</Interval>
<Count>3</Count>
</RestartOnFailure>
</Settings>
<Actions Context="LocalService">
<Exec>
<Command>%windir%\system32\sc.exe</Command>
<Arguments>start w32time task_started</Arguments>
</Exec>
<Exec>
<Command>%windir%\system32\w32tm.exe</Command>
<Arguments>/resync /nowait</Arguments>
</Exec>
</Actions>
</Task>
Zuletzt geändert von mensch90 am 09 Apr 2017, 20:05, insgesamt 1-mal geändert.
-
- Beiträge: 141
- Registriert: 28 Feb 2014, 10:21
Re: Windows Systemzeit
Sehr starke Lösung auf jeden Fall. Vielen Dank schon mal.
So streng sind unsere Anforderungen jedoch gar nicht. Ich würde mir einfach nur eine "einigermaßen" korrekte Uhrzeit wünschen. Aktuell startet die Zeit nach der Windows 7 Installation bei 0:00 Uhr. Da leider nur Administratoren die Uhrzeiteinstellungen ändern dürfen, würde ich das gerne über opsi lösen - jedoch am liebsten ohne ein eigenes Paket dafür zu erstellen.
Bei einer händischen Win7-Installation geht es ja auch. - Vielleicht meldet sich noch jemand.
So streng sind unsere Anforderungen jedoch gar nicht. Ich würde mir einfach nur eine "einigermaßen" korrekte Uhrzeit wünschen. Aktuell startet die Zeit nach der Windows 7 Installation bei 0:00 Uhr. Da leider nur Administratoren die Uhrzeiteinstellungen ändern dürfen, würde ich das gerne über opsi lösen - jedoch am liebsten ohne ein eigenes Paket dafür zu erstellen.
Bei einer händischen Win7-Installation geht es ja auch. - Vielleicht meldet sich noch jemand.
Re: Windows Systemzeit
Interessante Lösung mensch90.
Bademeister, wenn man unter dem netbootproduct in dem Fall win7 einfach folgende Dateien anlegt:
./opsi/default.reg
Die ntp Server natürlich noch anpassen
./opsi/postinst.d/21_reg.cmd
Danach ein
nicht vergessen.
Dann sollte das Ganze während der Installation gesetzt werden und es sollte kein Paket notwendig sein.
Ich benutze diese Methode schon für den automatische Domainjoin und die Aktivierung von Updates.
wiki/userspace:windows7#domainjoin_with_a_samba_pdc
Edit: Ich hab es noch mal angepasst, so dass der Abgleich nur einmal täglich passiert.
Bademeister, wenn man unter dem netbootproduct in dem Fall win7 einfach folgende Dateien anlegt:
./opsi/default.reg
Code: Alles auswählen
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\W32Time]
"Start"=dword:00000003
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\W32Time\Config]
"MaxNegPhaseCorrection"=dword:FFFFFFFF
"MaxPosPhaseCorrection"=dword:FFFFFFFF
"AnnounceFlags"=dword:00000005
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\W32Time\Parameters]
"NtpServer"="ntp.XXX.org,0x1"
"Type"="NTP"
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\W32Time\TimeProviders\NtpClient]
"Enabled"=dword:00000001
"SpecialPollInterval"=dword:00015180
"SpecialInterval"=dword:00000001
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\W32Time\TimeProviders\NtpServer]
"Enabled"=dword:00000000
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\DateTime\Servers]
@="1"
"1"="ntp.XXX.org"
"2"="ntp.XXX.de"
./opsi/postinst.d/21_reg.cmd
Code: Alles auswählen
echo [%date% %time%] Executing: regedit /s "%script_drive%\opsi\default.reg"
regedit /s "%script_drive%\opsi\default.reg"
Code: Alles auswählen
opsi-setup --set-rights /opt/pcbin/install/YOURNETBOOTPRODUCT
Dann sollte das Ganze während der Installation gesetzt werden und es sollte kein Paket notwendig sein.
Ich benutze diese Methode schon für den automatische Domainjoin und die Aktivierung von Updates.
wiki/userspace:windows7#domainjoin_with_a_samba_pdc
Edit: Ich hab es noch mal angepasst, so dass der Abgleich nur einmal täglich passiert.
Re: Windows Systemzeit
Ich gebe zu, eine sehr stringente Lösung von mir gepostet zu haben - unsere Anwendungsentwickler waren einfach fassungslos, dass es nach einem Windows Start auf div. Hardwaretypen zu teils 20 Sekunden Abweichungen kam, die erst nach 5 Minuten korrigiert waren. Ein Login in unsere Verwaltungssoftware wurde/wird ab einer gewissen Abweichung schlicht gesperrt - SupportCall des Mitarbeiters erfolgt
Meine Registryanpassungen hat Hawaii ja schon leicht modifiziert gepostet - der Windows-Task sollte einfach den "natürlichen Lauf der Dinge" mit der Brechstange beschleunigen.
Zudem haben wir auch die GUI-Eintragungen der Zeiteinstellungen mit unseren NTP-Servern überschrieben, damit optisch alles korrekt arbeitet. Zudem entfernen wir auch die Rechte für Administratoren, die Uhrzeit und Zeitzone zu ändern (wer Interesse an der Realisierung hat, gerne melden). Es gab unter XP nämlich Spezialisten, die Adminrechte zwecks alter Software benötigten und zudem beim "Nachschauen eines Termines in der Zukunft" gerne mal das Datum verstellt haben. Zusammen mit dem trägen Abgleich ein Horrorszenario für alle korrekten Rechnungsbuchungen etc
Meine Registryanpassungen hat Hawaii ja schon leicht modifiziert gepostet - der Windows-Task sollte einfach den "natürlichen Lauf der Dinge" mit der Brechstange beschleunigen.
Zudem haben wir auch die GUI-Eintragungen der Zeiteinstellungen mit unseren NTP-Servern überschrieben, damit optisch alles korrekt arbeitet. Zudem entfernen wir auch die Rechte für Administratoren, die Uhrzeit und Zeitzone zu ändern (wer Interesse an der Realisierung hat, gerne melden). Es gab unter XP nämlich Spezialisten, die Adminrechte zwecks alter Software benötigten und zudem beim "Nachschauen eines Termines in der Zukunft" gerne mal das Datum verstellt haben. Zusammen mit dem trägen Abgleich ein Horrorszenario für alle korrekten Rechnungsbuchungen etc
Re: Windows Systemzeit
Hi,
wenn ich z. B. die "default.reg" und dazugehörig die "21_default.cmd" angelegt und die Rechte entsprechend gesetzt habe, muss ich dann noch irgendwo sagen, dass er diese auch ausführt?
Ich seh im Log, dass die Dateien kopiert werden. Es gibt jedoch keinen "Executing"-Eintrag dafür und wurde auch nicht ausgeführt.
Vielen Dank schonmal!
Gruß,
Thorben
wenn ich z. B. die "default.reg" und dazugehörig die "21_default.cmd" angelegt und die Rechte entsprechend gesetzt habe, muss ich dann noch irgendwo sagen, dass er diese auch ausführt?
Ich seh im Log, dass die Dateien kopiert werden. Es gibt jedoch keinen "Executing"-Eintrag dafür und wurde auch nicht ausgeführt.
Vielen Dank schonmal!
Gruß,
Thorben
Re: Windows Systemzeit
Warum baust du dies unbedingt mit ins das netboot-image ein?
Wir fahren hier sehr gut mit einem opsi-localboot-paket welches alle clientanpassungen (und das sind bei win7 einige..) macht.
Dort importiere ich registry-keys via WinBatch und regedit.exe /S meineregdatei.reg
Wir fahren hier sehr gut mit einem opsi-localboot-paket welches alle clientanpassungen (und das sind bei win7 einige..) macht.
Dort importiere ich registry-keys via WinBatch und regedit.exe /S meineregdatei.reg
Re: Windows Systemzeit
Stimmt eigentlich auch.
Ich bin noch sehr neu hier, dann werde ich auch mal ein Paket bauen, was ein paar Einstellungen vornimmt.
Danke für den Tipp!
Ich bin noch sehr neu hier, dann werde ich auch mal ein Paket bauen, was ein paar Einstellungen vornimmt.
Danke für den Tipp!