Ändern der Uhrzeit eines anderen PCs im Netzwerk
Das Problem:
Heute fiel uns auf, das einige unserer Windows-Clients im Netzwerk scheinbar keine Zeitsynchronisation mit unserem Domain-Controller durchführen und Kerberos uns daher Fehlermeldungen im Eventlog fabrizierte. Da die Benutzer bei uns nur User sind, haben sie keine Berechtigung, die Uhrzeit selber zu ändern.
Was tun, wenn man nun nicht durch die ganze Firma laufen möchte, um die Uhrzeiten wieder richtig einzustellen?
Schliesslich ist man als Admin ja doch faul oder einfach zu bequem
Die Lösung:
Die passende Hilfe fand in einem Tool von der Firma Sysinternals, die von Microsoft aufgekauft und eingegliedert wurde.
http://technet.microsoft.com/de-de/sysinternals/bb897553(en-us).aspx
Das Programm wird zusammen mit anderen in einer Tools-Sammlung angeboten, die ständig erweitert wird. Die Hilfe und Parameter zu den einzelnen Programme findet man in der beiliegenden Hilfedatei (Pstools.chm).
PSExec ist eine Art telnet-Ersatz, mit dem man Prozesse auf anderen Systemen ausführen kann, ohne dass eine (manuelle) Installation von Client-Software nötig ist.
Man startet PSExec aus einem CMD-Fenster heraus. Um sich nun mit einem anderen PC zu verbinden, braucht man gewisse Parameter.
Bei mir hat die Verbindung leider nicht über den Hostnamen, aber über die IP funktioniert.
Mit dem folgenden PC bekommt man die IP heraus:
C:\>ping COMPUTERNAME
Ping COMPUTERNAME [12.34.56.78] mit 32 Bytes Daten:
...
Die IP wäre also 12.34.56.78 und somit können wir loslegen.
Zunächst müssen wir PSExec dazu bringen, sich mit dem Remoterechner zu verbinden und für meinen Fall benötige ich ein CMD, um die Zeit einzustellen. Dies erreiche ich mit folgendem Befehl:
psexec \\12.34.56.78 -e -u DOMÄNE\USER cmd
-e -u DOMÄNE\USER = benutzt eine andere Anmeldung (hier einen Adminaccount), da die User keine Berechtigung haben
cmd = es wird ein Commandprompt verwendet/geöffnet (andere Möglichkeiten stehen in der Hilfedatei)
Nach Eingabe des Passworts bin ich nun remote auf dem Fenster und der Cursor blinkt nun hinter 'C:\Windows\System32>'
Nun kann der Spass beginnen, aber als Admin sollte man wissen, was man tut.
Zunächst möchte ich noch mal sehen, welche Uhrzeit der PC nun wirklich hat: Dazu tippe ich ein:time /T
Die angezeigte Uhrzeit ist bei mir nun aber um gut 30 Minuten zurück und daher möchte ich, das die zeit mit unserem Domänencontroller (DC002) abgeglichen wird: net time /set /y
Das Ergebnis wird mir prompt angezeigt:
Current time at \\DC002 is 4/16/2008 1:31 PM
The command completed successfully.
Ohne das /y müsste ich eigentlich noch bestätigen, ob die Zeit wirklich mit dem DC002 abgeglichen werden soll. Leider taucht hier ein Problem von PSExec auf, denn wartet scheinbar darauf, ob ich ein J oder N eingeben:
C:\WINDOWS\system32>net time /set
Aktuelle Zeit auf \\DC002 ist 4/16/2008 1:36 PM.
Die aktuelle lokale Zeit ist 4/16/2008 1:36 PM.
Soll die Zeit des lokalen Computers mit
der Zeit auf \\KLREMDC002 übereinstimmen? (J/N) [J]:
Es wurde keine gültige Antwort gegeben.
C:\WINDOWS\system32>
Nach einer erneuten Überprüfung der Uhrzeit mit time /T bin ich zufrieden und mein Job erledigt.
Es gibt sicherlich noch mehr Möglichkeiten, das Programm einzusetzen und dies war auch lediglich nur ein Beispiel.
Learning by doing - probiert es selber aus
nachtrag 17.04.2008
Ich habe nun rausgefunden, wie man das ganze in einer Zeile managen kann, ohne das man sich erst verbinden und dann den Befehl eintippen muss:
psexec -e -u DOMAINE\USER \\COMPUTER cmd /c net time /set /y
Man muss dabei nur noch einmal das Passwort eintippen und landet am Ende auch wieder auf seinem PC, da die Remotesitzung nach Ende des Befehls auch wieder geschlossen wird.
Wenn das ganze auf mehreren PCs erfolgen soll, dann kann man das ganze auch mit einer Datei abarbeiten lassen. Ich habe mir dazu im gleichen Verzeichnis eine 'computer.txt' angelegt, in der die Computer untereinander aufgelistet sind (geht auch mit Komma-Trennung) und rufe das ganze dann wie folgt auf:
psexec -e -u DOMAINE\USER @computer.txt cmd /c net time /set /y
Heute fiel uns auf, das einige unserer Windows-Clients im Netzwerk scheinbar keine Zeitsynchronisation mit unserem Domain-Controller durchführen und Kerberos uns daher Fehlermeldungen im Eventlog fabrizierte. Da die Benutzer bei uns nur User sind, haben sie keine Berechtigung, die Uhrzeit selber zu ändern.
Was tun, wenn man nun nicht durch die ganze Firma laufen möchte, um die Uhrzeiten wieder richtig einzustellen?
Schliesslich ist man als Admin ja doch faul oder einfach zu bequem
Die Lösung:
Die passende Hilfe fand in einem Tool von der Firma Sysinternals, die von Microsoft aufgekauft und eingegliedert wurde.
http://technet.microsoft.com/de-de/sysinternals/bb897553(en-us).aspx
Das Programm wird zusammen mit anderen in einer Tools-Sammlung angeboten, die ständig erweitert wird. Die Hilfe und Parameter zu den einzelnen Programme findet man in der beiliegenden Hilfedatei (Pstools.chm).
PSExec ist eine Art telnet-Ersatz, mit dem man Prozesse auf anderen Systemen ausführen kann, ohne dass eine (manuelle) Installation von Client-Software nötig ist.
Man startet PSExec aus einem CMD-Fenster heraus. Um sich nun mit einem anderen PC zu verbinden, braucht man gewisse Parameter.
Bei mir hat die Verbindung leider nicht über den Hostnamen, aber über die IP funktioniert.
Mit dem folgenden PC bekommt man die IP heraus:
C:\>ping COMPUTERNAME
Ping COMPUTERNAME [12.34.56.78] mit 32 Bytes Daten:
...
Die IP wäre also 12.34.56.78 und somit können wir loslegen.
Zunächst müssen wir PSExec dazu bringen, sich mit dem Remoterechner zu verbinden und für meinen Fall benötige ich ein CMD, um die Zeit einzustellen. Dies erreiche ich mit folgendem Befehl:
psexec \\12.34.56.78 -e -u DOMÄNE\USER cmd
-e -u DOMÄNE\USER = benutzt eine andere Anmeldung (hier einen Adminaccount), da die User keine Berechtigung haben
cmd = es wird ein Commandprompt verwendet/geöffnet (andere Möglichkeiten stehen in der Hilfedatei)
Nach Eingabe des Passworts bin ich nun remote auf dem Fenster und der Cursor blinkt nun hinter 'C:\Windows\System32>'
Nun kann der Spass beginnen, aber als Admin sollte man wissen, was man tut.
Zunächst möchte ich noch mal sehen, welche Uhrzeit der PC nun wirklich hat: Dazu tippe ich ein:time /T
Die angezeigte Uhrzeit ist bei mir nun aber um gut 30 Minuten zurück und daher möchte ich, das die zeit mit unserem Domänencontroller (DC002) abgeglichen wird: net time /set /y
Das Ergebnis wird mir prompt angezeigt:
Current time at \\DC002 is 4/16/2008 1:31 PM
The command completed successfully.
Ohne das /y müsste ich eigentlich noch bestätigen, ob die Zeit wirklich mit dem DC002 abgeglichen werden soll. Leider taucht hier ein Problem von PSExec auf, denn wartet scheinbar darauf, ob ich ein J oder N eingeben:
C:\WINDOWS\system32>net time /set
Aktuelle Zeit auf \\DC002 ist 4/16/2008 1:36 PM.
Die aktuelle lokale Zeit ist 4/16/2008 1:36 PM.
Soll die Zeit des lokalen Computers mit
der Zeit auf \\KLREMDC002 übereinstimmen? (J/N) [J]:
Es wurde keine gültige Antwort gegeben.
C:\WINDOWS\system32>
Nach einer erneuten Überprüfung der Uhrzeit mit time /T bin ich zufrieden und mein Job erledigt.
Es gibt sicherlich noch mehr Möglichkeiten, das Programm einzusetzen und dies war auch lediglich nur ein Beispiel.
Learning by doing - probiert es selber aus
nachtrag 17.04.2008
Ich habe nun rausgefunden, wie man das ganze in einer Zeile managen kann, ohne das man sich erst verbinden und dann den Befehl eintippen muss:
psexec -e -u DOMAINE\USER \\COMPUTER cmd /c net time /set /y
Man muss dabei nur noch einmal das Passwort eintippen und landet am Ende auch wieder auf seinem PC, da die Remotesitzung nach Ende des Befehls auch wieder geschlossen wird.
Wenn das ganze auf mehreren PCs erfolgen soll, dann kann man das ganze auch mit einer Datei abarbeiten lassen. Ich habe mir dazu im gleichen Verzeichnis eine 'computer.txt' angelegt, in der die Computer untereinander aufgelistet sind (geht auch mit Komma-Trennung) und rufe das ganze dann wie folgt auf:
psexec -e -u DOMAINE\USER @computer.txt cmd /c net time /set /y
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 85662
Url: https://administrator.de/contentid/85662
Ausgedruckt am: 22.11.2024 um 04:11 Uhr
13 Kommentare
Neuester Kommentar
Was hindert dich,
net time \\Computername /SET .....
von deinem PC aus auszuführen?
Es gibt auch ein Loginscript lokal, das vor der Useranmeldung ausgeführt wird.
net time \\Computername /SET .....
von deinem PC aus auszuführen?
Es gibt auch ein Loginscript lokal, das vor der Useranmeldung ausgeführt wird.
Falsch interpretiert und nicht ausprobiert.
Hallo,
ich denke es gibt da zwei Ansätze:
1. Das login-Script: Die Benutzer brauchen das Recht die Lokale Systemzeit zu ändern.
Das Recht gibt man den Domänen-Benutzern. Dann im Login Script
net use \\SERVERNAME /set /yes.
2. Du nutzt das Tools PSEXEC von Sysinternals. Das sieht in etwa so aus:
psexec \\rechnername -u benutzer -p password "net time \\servername /set /yes"
Hoffe das hilft
Markus
ich denke es gibt da zwei Ansätze:
1. Das login-Script: Die Benutzer brauchen das Recht die Lokale Systemzeit zu ändern.
Das Recht gibt man den Domänen-Benutzern. Dann im Login Script
net use \\SERVERNAME /set /yes.
2. Du nutzt das Tools PSEXEC von Sysinternals. Das sieht in etwa so aus:
psexec \\rechnername -u benutzer -p password "net time \\servername /set /yes"
Hoffe das hilft
Markus
Hallo,
prima Sache, vielen Dank dafür!
Leider funktioniert es hier nicht, und zwar - in der Domäne (Server 2008 Std.) gibt es eine handvoll Rechner (Vista SP1, wenigere SP2), die, warum auch immer, plötzlich im Jahr 2048 leben (letztes Jahr 2047). Komischerweise meistens immer wieder die gleichen Rechner und auf jeden Fall immer das gleiche Jahr....
Wenn ich nun vom Server aus die Zeit per o.g. Kommando korrigieren möchte, bekomme ich als Antwort sinngemäß, dass nicht connected werden kann, weil ein Zeitunterschied besteht. Ach nein!
Ist der Zeitunterschied zu groß, so dass das hier nicht mehr remote machbar ist? Gibt es noch andere Wege, die Zeit remote zu korrigieren?
Hat jemand nebenbei vlt. eine Idee, wer an der Geschichte mit den Jahreszahlen schuld ist?
VG, TzBnd
prima Sache, vielen Dank dafür!
Leider funktioniert es hier nicht, und zwar - in der Domäne (Server 2008 Std.) gibt es eine handvoll Rechner (Vista SP1, wenigere SP2), die, warum auch immer, plötzlich im Jahr 2048 leben (letztes Jahr 2047). Komischerweise meistens immer wieder die gleichen Rechner und auf jeden Fall immer das gleiche Jahr....
Wenn ich nun vom Server aus die Zeit per o.g. Kommando korrigieren möchte, bekomme ich als Antwort sinngemäß, dass nicht connected werden kann, weil ein Zeitunterschied besteht. Ach nein!
Ist der Zeitunterschied zu groß, so dass das hier nicht mehr remote machbar ist? Gibt es noch andere Wege, die Zeit remote zu korrigieren?
Hat jemand nebenbei vlt. eine Idee, wer an der Geschichte mit den Jahreszahlen schuld ist?
VG, TzBnd
Morgen!
Ich glaube, mein Vorgänger hat das schon getestet, zumindest ist diese Info an mich herangetragen worden ;) Es sind zwar mehr oder weniger immer dieselben Rechner, aber es ist auch immer dasselbe Jahr. Und die Uhrzeit selbst ist immer korrekt. Daher würde ich das eher ausschließen, oder?
Nichts desto trotz, werde ich mal die Versionen vergleichen, wenn ich wieder vor Ort bin (die Rechner sind an verschiedenen Standorten über die Stadt verteilt.....
Einen erfolgreichen Tag
Ich glaube, mein Vorgänger hat das schon getestet, zumindest ist diese Info an mich herangetragen worden ;) Es sind zwar mehr oder weniger immer dieselben Rechner, aber es ist auch immer dasselbe Jahr. Und die Uhrzeit selbst ist immer korrekt. Daher würde ich das eher ausschließen, oder?
Nichts desto trotz, werde ich mal die Versionen vergleichen, wenn ich wieder vor Ort bin (die Rechner sind an verschiedenen Standorten über die Stadt verteilt.....
Einen erfolgreichen Tag