مزامنة الساعة

حافظ على مزامنة Windows Clock.

مزامنة الساعة هو برنامج نصي بسيط لسطر الأوامر للحفاظ على مزامنة ساعة Windows.
في بعض الأنظمة ولأسباب مختلفة ، يمكن أن تخرج ساعة Windows عن المزامنة بشكل متكرر.
هذه الأداة الصغيرة يجب أن تحل هذه المشكلة.
تتم كتابة ClockSync بلغة Batch.

إذا كنت تبحث عن برنامج للحفاظ على دقة وقت النظام ، فقد وجدته للتو!

  • مجانًا
  • مفتوحة المصدر
  • صغير: أقل من 2 كيلو بايت
  • سريع وسهل الإستخدام
  • يعمل على أي Windows من Win7 حتى Win10 ، بما في ذلك إصدارات Server.
    يدعم كل من نظام التشغيل 32 بت و 64 بت.
الاستخدام:
  1. تأكد من أنك متصل بالإنترنت.
  2. قم بتشغيل ملف ClockSync.bat بامتيازات المسؤول.

سيقوم ClockSync تلقائيًا بإجراء المزامنة الأولى.
بعد ذلك ، يقوم بإجراء عمليات مزامنة دورية على فترة زمنية.
بشكل افتراضي ، يقوم بمزامنة الوقت كل 10 دقائق.

إذا كنت تريد تحديد ملف الفاصل الزمني المخصص لإعادة المزامنة، قم بتشغيل الملف باستخدام معلمة الأمر "minutes".
الأمر التالي ، على سبيل المثال ، يقوم بمزامنة الساعة كل 60 دقيقة:
"ClockSync.bat 60"

التفاصيل:

ستحافظ ClockSync على دقة ساعة النظام عن طريق إجراء عمليات مزامنة دورية مع خادم الإنترنت الافتراضي الخاص بك.

إذا تم تعطيل خدمة الوقت في Windows أو Internet Time Synchronization ، فسيقوم ClockSync بإعادة تشغيلهما.
سيساعد هذا في الحفاظ على دقة ساعة النظام حتى في حالة عدم تشغيل ClockSync.

كود المصدر:

ClockSync.bat:

@echo off
echo * ClockSync v1.0
echo * BreakingSecurity.net
echo.

:: Check that we own administrator access level. 
echo [INFO] Checking Access Level...
net session >nul 2>&1
if %errorLevel% == 0 (
	:: We have the necessary rights, go forward
	echo [INFO] Administrative Access confirmed.
) else (
	:: Error, insufficient privileges. Exit program.
	echo [ERROR] Insufficient Access Level. Please restart script with administrative permission.
	echo.
	echo Press any key to exit...
	pause > nul
	exit
)

:: Check command-line parameter.
:: User can specify any number of minutes for the Resync interval.
:: If there is no user-specified parameter, default one is used.
set /A minutes = 10
if not "%1" == "" (
	set /A minutes=%1
)

:loop
:: Synchronize Clock
:: Use /force parameter to bypass "time change too big" error
w32tm /resync /force
if not errorlevel 0 (
	:: If Error, restart time service
    echo [WARNING] Time Service error. Restarting service...
	net stop w32time
    w32tm /unregister
    w32tm /register
    net start w32time
	w32tm /resync /force
	if not errorlevel 0 (
		:: Unknown error, exit program.
		echo [ERROR] Unknown error.
		echo.
		echo Press any key to exit...
		pause > nul
		exit
	)
)
echo.
echo [SUCCESS] Clock successfully synchronized!
echo Date: %date%
echo Time: %time%
echo.

:: Sleep
set /A seconds = %minutes% * 60
echo [INFO] Sleeping for %minutes% minutes until next synchronization...
echo.
ping 127.0.0.1 -n %seconds% > nul

:: Repeat
goto loop