クロック同期

Windows クロックの同期を維持します。

クロック同期 は、Windows クロックの同期を維持するための単純なコマンド ライン スクリプトです。
一部のシステムでは、さまざまな原因により、Windows クロックが頻繁に同期しなくなることがあります。
この小さなツールは、この問題を解決するはずです。
ClockSync はバッチ言語で書かれています。

システム時刻を正確に保つためのプログラムを探しているなら、まさにそれが見つかりました!

  • 無料版
  • オープンソース
  • 小: 2 kb 未満
  • 速くて使いやすい
  • サーバー版を含む、Win7 から Win10 までのすべての Windows で動作します。
    32 ビット OS と 64 ビット OS の両方がサポートされています。
使用法:
  1. インターネットに接続していることを確認してください。
  2. 管理者権限で ClockSync.bat ファイルを実行します。

ClockSync は、最初の同期を自動的に実行します。
その後、時間間隔で定期的な同期を実行します。
デフォルトでは、10 分ごとに時刻を同期します。

指定したい場合 カスタム再同期間隔で、「minutes」コマンド パラメータを指定してファイルを実行します。
たとえば、次のコマンドは、60 分ごとにクロックを同期します。
「ClockSync.bat 60」

詳細:

ClockSync は、デフォルトのインターネット タイム サーバーと定期的に同期を実行することで、システム クロックを正確に保ちます。

Windows タイム サービスまたはインターネット時刻同期が無効になっている場合、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