Zeit einstellen programmgesteuert mit C#
Frage
Was ist der beste Weg, um die Zeit einzustellen, die auf einem remote-Computer aus der Ferne?Der Rechner läuft mit Windows XP und den Erhalt der neuen Zeit über eine web-service-Aufruf.Das Ziel ist es, die remote-Rechnern synchron mit dem server.Das system ist gesperrt, so dass unser web-service ist der einzige Zugang, so dass ich nicht verwenden können, einen Zeit-server jede remote-Maschine.
Lösung
Ich würde verwenden Sie die Windows-built-in internet-Zeit-Fähigkeiten.Sie können eine Zeit-server auf Ihrem server, haben es sich die Zeit von einem 2-tier-Zeitserver, und haben alle Ihre client-Geräte, die Zeit aus es.
Ich habe unten die Anwendung-Einstellungen-system-Zeit Straße vor.
Andere Tipps
Dies ist der Win32-API-Aufruf zum Einstellen der Systemzeit:
[StructLayout(LayoutKind.Sequential)]
public struct SYSTEMTIME {
public short wYear;
public short wMonth;
public short wDayOfWeek;
public short wDay;
public short wHour;
public short wMinute;
public short wSecond;
public short wMilliseconds;
}
[DllImport("kernel32.dll", SetLastError=true)]
public static extern bool SetSystemTime(ref SYSTEMTIME theDateTime );
Ich bin mir nicht ganz sicher, wie Sie die Sicherheit so ausgearbeitet bekommen würde, dass Sie diese Funktion auf dem Client ausführen kann, though.
Sie können viel mehr Detail erhalten Systemzeit auf Einstellung unter PInvoke .
Sie könnten wahrscheinlich auch dies in einer Batch-Datei eine Kombination aus mit
TIME
die Zeit einzustellen, und
net time \\server_name
die Zeit von einem Server abgerufen werden.