PR

Windows 時刻同期コマンド エラー対策 再実行不要版 バッチファイル

スポンサーリンク

時刻同期コマンド エラーメッセージ 対策

時刻同期コマンドを実行した際の出力メッセージは、

再同期コマンドをローカル コンピューターに送信しています
コマンドは正しく完了しました。

上記が正常なのですが、まれに、

再同期コマンドをローカル コンピューターに送信しています
時刻データが利用できなかったため、コンピューターは同期をとり直しませんでした。

エラーと思われるメッセージが出る場合があります。

コマンドを再実行すれば、正常なメッセージになるのですが、エラーコードを出力しないので自動化をやめ単純に2回実行してみました。

しばらく検証していましたが、問題ないようなので公開します。
エラーと思われるメッセージが表示されなくなります。

時刻同期 バッチファイルです。 ↓

@echo off
rem ■■W32Timeサービス開始判定あり 時刻同期NEW bat■■

rem ----- 管理者権限で実行 -----
echo.
echo コマンドプロンプトを管理者として実行します
echo.

for /f "tokens=3 delims=\ " %%A in ('whoami /groups^|find "Mandatory"') do set LEVEL=%%A
if not "%LEVEL%"=="High" (
powershell -NoProfile -ExecutionPolicy Unrestricted -Command "Start-Process \"%~f0\" -Verb runas"
exit
)

rem --Windows Timeサービス W32Time状態判定--
sc query W32Time | findstr STATE | findstr RUNNING > NUL
if %ERRORLEVEL% neq 0 (
rem --Windows Timeサービス W32Timeを開始--
echo.
echo ==============================================
echo  Windows Timeサービス W32Timeを開始します。
echo ==============================================
echo.
net start W32Time
timeout /T 3 > NUL
)

rem --時刻同期--
echo.
echo ====================
echo  時刻同期します。
echo ====================
echo.

w32tm /resync > NUL
w32tm /resync

echo.
echo ===========================
echo  最終時刻同期時間を確認
echo ===========================
echo.

w32tm /query /status
echo 終了します。
timeout /T 3
exit

以前からの変更点は、

w32tm /resync > NUL

の1行のみ追加しています。

画面には表示されません。(1秒程度遅れるだけです)

個人的にこちらを使用していますが、問題なく使用出来ています。

実行中に表示される画面です。3秒後に自動終了します。

エラーメッセージが表示された場合に、再度実行するのが面倒な方におススメします。

以前の記事 詳細はこちらに記載されています。↓

タイトルとURLをコピーしました