zeroblue2005
Goto Top

Windows 10 Batch für Datum und Uhrzeit setzen

Hallo Zusammen,

habe hier ein Laptop von Medion,, wo die Bios fest verlötet ist. Fragt mich bitte nicht was der Mist soll, da der Laptop auch gerade mal zwei Jahre alt ist. Na ja jetzt ist klar warum das Datum und die Uhrzeit nie stimmt beim starten des Rechners. Meine Idee war, eine Batch zu schreiben die beim Start autom. übers INet das Datum und die Uhrzeit ermittelt und diese dann setzt. Das klappt auch so weit ganz gut, so lange das Datum nicht älters ist als 24 Stunden bzw. einen Tag. Dann gehts nämlich nicht.

Das habe ich geschrieben:
echo off &Setlocal
cls && mode con: Cols=55 Lines=10 && Color 9f && TITLE TIME-SYNC
CLS
Echo.
Echo Datum ueberpruefen
Echo.
rem Date
net time /setsntp:ntp2.fau.de
echo Lokales Datum %date%
echo Lokale Zeit %time%
w32tm /resync
echo Neue Zeit %date%
echo Neue Zeit %time%

Hat jemand eine bessere Idee? Danke

Content-ID: 337927

Url: https://administrator.de/contentid/337927

Ausgedruckt am: 22.11.2024 um 11:11 Uhr

em-pie
em-pie 16.05.2017 um 12:30:13 Uhr
Goto Top
Moin,

warum gehst du nicht ins BIOS und stellst die Uhrzeit dort richtig ein???
Dazu muss doch kein IC/ BIOS-Chip gewechselt werden...

Gruß
em-pie
zeroblue2005
zeroblue2005 16.05.2017 um 12:47:04 Uhr
Goto Top
Na ja weil beim nächsten herunterfahren, das Datum sich wieder auf Bios Install Datum setzt. Hatte ich doch gesagt, das die Batterie leer ist, sorry dachte wäre klar!
Kraemer
Kraemer 16.05.2017 um 13:05:02 Uhr
Goto Top
Zitat von @zeroblue2005:

Na ja weil beim nächsten herunterfahren, das Datum sich wieder auf Bios Install Datum setzt. Hatte ich doch gesagt, das die Batterie leer ist, sorry dachte wäre klar!
Das wäre klar gewesen, wenn du das auch geschrieben hättest...

wo die Bios fest verlötet ist.
LordAsriel
LordAsriel 16.05.2017 um 13:06:55 Uhr
Goto Top
Hi zeroblue,

so deutlich hattest du das noch nicht geschrieben face-wink

Wenn ich das richtig interpretiere, meinst du mit oben dem Post, dass die BIOS Batterie verlötet ist, richtig? Wenn du schon so weit bist, dass du alles auseinander hast, wäre es da nicht am einfachsten die Batterie abzulöten und eine neue aufzulöten?

VG
zeroblue2005
zeroblue2005 16.05.2017 um 13:09:45 Uhr
Goto Top
Stimmt ich entschuldige mich für die vergessene Info face-wink
zeroblue2005
zeroblue2005 16.05.2017 um 13:11:08 Uhr
Goto Top
Nein Lord, ich habe den Laptop nicht aufgemacht. Die Info habe ich vom Medion Support.... ich mache das Ding auch nicht auf, ist so ein Hybrid Tab/Laptop viel zu viel verklebt usw.
Pedant
Lösung Pedant 16.05.2017 um 13:46:21 Uhr
Goto Top
Hallo zeroblue2005,

Zitat von @zeroblue2005:
Das klappt auch so weit ganz gut, so lange das Datum nicht älters ist als 24 Stunden bzw. einen Tag. Dann gehts nämlich nicht.

Wenn Du irgendwo ein Stück Webspace hast, dass PHP kann, dann mach Dir Deinen eigenen Zeit-(setzen)-Server.

zeitsetzen.cmd
@echo off
set url=http://pedant.de/temp/uhrzeit.php
if exist zeitsetzentemp.cmd del zeitsetzentemp.cmd
echo Zeitsetzentemp wird geladen...
wget.exe %url% -O zeitsetzentemp.cmd -o nul
if errorlevel 1 goto fehler
call zeitsetzentemp.cmd
echo Datum und Zeit wurde gesetzt.
del zeitsetzentemp.cmd
exit /b 0

:fehler
echo So ein Mist.
del zeitsetzentemp.cmd
exit /b 1

uhrzeit.php
<?php
$datum = date("d.m.Y");  
$uhrzeit = date("H:i");  
echo "@echo off\r\n";  
echo "date ".$datum."\r\n";  
echo "time ".$uhrzeit."\r\n";  
echo "exit /b";  
?>
Zum Testen habe ich so eine PHP auf meinen Server abgelegt.
Die kannst Du gerne auch zum Testen nutzen.
http://pedant.de/temp/uhrzeit.php

Das klappt dann auch mit völlig falschen Ausgagsdatum.
Wenn Du willst, kannst Du anschließend noch Dein Skript laufen lassen, um den Zeitserver Deine Wahl abzufragen.

WGet müsstest Du noch runterladen. Das ist installationsfrei.
http://gnuwin32.sourceforge.net/packages/wget.htm
Binaries Zip und DependenciesZip

Gruß Frank
Kraemer
Kraemer 16.05.2017 um 13:54:43 Uhr
Goto Top
zeroblue2005
zeroblue2005 16.05.2017 um 14:42:20 Uhr
Goto Top
Hallo Frank,

das sieht ja mal richtig gut aus! Das mit der PHP ist mir klar und war in 1 min. erledigt, läuft!

Die cmd habe ich auch angepasst.

Was mir doch schleierhaft ist, ist das mit Wget. Wo muss den das ganze hin? also wo entpacken?
zeroblue2005
zeroblue2005 16.05.2017 um 14:49:10 Uhr
Goto Top
Hat sich erledigt....
zeroblue2005
zeroblue2005 16.05.2017 um 15:07:51 Uhr
Goto Top
Hi Frank,

habe es geschafft, musste erstmal da durchblicken was da genau passiert! Denke habe es verstanden, so weit! Habe die Pfade angepasst und drei mal das Datum geändert und Script gestartet. Er holt sich das Datum u. setzt es. Mit der Uhrzeit hattest du Recht, da habe ich noch meinen Script hinterher gejagt. Jetzt habe ich den Lapi mal ausgeschaltet und kein Strom dran.

Gleich schalte ich mal das Ding wieder ein... dann bin ich ja gespannt!

Vielen Dank
em-pie
em-pie 16.05.2017 um 15:15:33 Uhr
Goto Top
Hmm...

Dein Konstrukt fällt jedoch auf die Nase, wenn du kein Internetzugang hast face-sad

ist dein Laptop jünger ode älter als 24Monate? Wenn jünger.... wende dich an Medion und berufe dich auf die 24 Monate Gewährleistung. Kann ja nicht sein, dass nach 2 Jahren die Batterie alle ist face-confused
zeroblue2005
zeroblue2005 16.05.2017 um 15:29:14 Uhr
Goto Top
Dein Konstrukt fällt jedoch auf die Nase, wenn du kein Internetzugang hast face-sad
Ja stimmt aber dann kann ich immer noch Hand anlegen u. das per Fußweg machen! Ausserdem bin ich von 100 mal 99 online!

ist dein Laptop jünger ode älter als 24Monate? Wenn jünger.... wende dich an Medion und berufe dich auf die 24 Monate Gewährleistung. Kann ja nicht sein, dass nach 2 Jahren die Batterie alle ist face-confused
Älter als 24 Monate, da geht nichts mehr...
Pedant
Pedant 16.05.2017 um 16:35:55 Uhr
Goto Top
Hallo zeroblue2005,

Zitat von @em-pie:
Dein Konstrukt fällt jedoch auf die Nase, wenn du kein Internetzugang hast face-sad
Das ließe sich allerdings nur mit einer neuen lokalen Uhr vermeiden.
(Externe USB-Funkuhr? Gibt's sowas?)

Zitat von @zeroblue2005:
Was mir doch schleierhaft ist, ist das mit Wget. Wo muss den das ganze hin? also wo entpacken?>
Auch wenn Du schreibst, dass es sich erledigt hatte...
Aus den beiden Zips brauchst Du aus jeweiligen "bin"-Ordnern nur folgende Dateien:
wget.exe
libeay32.dll
libiconv2.dll
libintl3.dll
libssl32.dll
Die kannst Du in einen gemeinsamen Ordner kopieren, beispielsweise:
C:\Program Files (x86)\WGet\

Zitat von @zeroblue2005:
...musste erstmal da durchblicken was da genau passiert!
Dann ein paar Worte dazu:

Das PHP generiert als Ausgabe den Inhalt einer Batchdatei, die Datum und Uhrzeit mit aktuellen Werten setzt kann.
In der "Haupt"-Batch zeitsetzen.cmd wird WGet genutzt um einerseits das PHP-Skript aufzurufen und andererseits dessen Ausgabe in einer Datei downzuloaden (nach zeitsetzentemp.cmd).

wget.exe %url% -O zeitsetzentemp.cmd -o nul
  • %url% = Was, woher (%url% wurde zuvor eine richtige Url zugewiesen. Man könnte die Url natürlich auch im Klartext bei WGet angeben.)
  • -O zeitsetzentemp.cmd = wohin
  • -o nul = wohin mit Meldungen und Fehlermeldungen, in dem Fall nach nul, also ins nichts. (-q wäre die von WGet vorgesehene Alternative.)

Falls was nicht klappt ist errorlevel > 0

Falls es geklappt hat wird die erzeugte zeitsetzentemp.cmd ausgeführt und damit Datum und Zeit auf die Werte gesetzt, die PHP zuvor aus der System-Zeit des PHP-Servers gelesen hat.

Falls Du WGet (inkl. DLL) nicht neben die zeitsetzen.cmd ablegst, sondern beispielsweise in
C:\Program Files (x86)\WGet\
musst Du natürlich die Pfade anpassen.
"C:\Program Files (x86)\WGet\wget.exe" %url% -O zeitsetzentemp.cmd -o nul
zeitsetzentemp.cmd wird ohne Pfadangabe im aktuellen Ordner abgelegt und nicht neben WGet.
Alternativ kannst Du dafür auch einen Pfadangeben, bespielsweise den Temp-Ordner oder einen expliziten Pfad.
"C:\Program Files (x86)\WGet\wget.exe" %url% -O %Temp%\zeitsetzentemp.cmd -o nul
"C:\Program Files (x86)\WGet\wget.exe" %url% -O "D:\Mein Odner\zeitsetzentemp.cmd" -o nul

Das scheint duchaus eine Alternative zu meinem Skript zu sein.
Auf jeden Fall eine merkenswerte Möglichkeit.

Gruß Frank
Kraemer
Kraemer 16.05.2017 um 16:40:12 Uhr
Goto Top
Naja,
Zitat von @Pedant:
Das scheint duchaus eine Alternative zu meinem Skript zu sein.

eigentlich ist alles eine Alternative zu deinem Konstrukt - auch wenn das sicherlich nett gemeint gewesen ist. dir ist schon klar, dass du dir jederzeit sämtliche Daten von Ihm ziehen kannst?

Gruß
BassFishFox
BassFishFox 16.05.2017 aktualisiert um 16:56:31 Uhr
Goto Top
Hallo,

(Externe USB-Funkuhr? Gibt's sowas?)

Ja klar, nur sind die nicht gerade billich. face-wink

http://www.lindy.de/DCF77-Funkuhr-USB-Version-fuer-PC-und-LAN.htm?websa ...

Mal so al Tipp. Vergroessere doch das Zeitoffset laut dem Link von @Kraemer und stelle W10 so ein, das Zeit und Zeitzone automatisch kommen. Schau dann, wie lange es dauert bis die Zeit richtig ist.

BFF
Pedant
Pedant 16.05.2017 um 17:30:30 Uhr
Goto Top
Hallo Kraemer,

Zitat von @Kraemer:
Dir ist schon klar, dass du dir jederzeit sämtliche Daten von Ihm ziehen kannst?
...nur nicht die korrekt Uhrzeit.

Nein, wie sollte das gehen?
Wenn er natürlich mein PHP auf meinem Server ausführt, ginge da vielleicht was, aber auch nicht mehr, als jede andere Website auch kann, es sei denn ich ändere mit finsterer Absicht, heimlich das PHP-Skript und damit dessen Output und lasse ihn dadruch eine kriminelle CMD lokal ausführen.
Für den ersten Test kann er mir aber vertrauen und für den Alltag soll er den Webspace seines Vertauens mit eigenem PHP-Skript nutzen
oder gehen Deine Bedenken weiter oder in eine andere Richtung?

@zeroblue2005
Was ist denn Dein erwähntes "Bios Install Datum"?

Gruß Frank
zeroblue2005
zeroblue2005 16.05.2017 aktualisiert um 18:14:52 Uhr
Goto Top
eigentlich ist alles eine Alternative zu deinem Konstrukt - auch wenn das sicherlich nett gemeint gewesen ist. dir ist schon klar, dass du dir jederzeit sämtliche Daten von Ihm ziehen kannst?


Das könnte er! Jedoch nur dann wenn er die PHP auf meinem Server ändern kann. Mir war auch als nicht Syntax Gott klar das php immer auf dem Server ausgeführt wird.

Daher benutze ich meinen eigenen!

Aber er hat es ja bestimmt nur gut gemeint, dass ich seinen nutzen könnte.

Oder liege ich falsch und es gibt noch ein anderes Sicherheitsrisiko?