当サイトは広告およびアフィリエイトプログラムによる収益を得ています。

Windowsでずれる時計の時刻を同期する方法

デスクトップ Windows

Windows 11やWindows 10の時計は自動的に時刻を調整する機能が備わっています。それでも「ずれる」と言う場合には手動で操作する必要がありますが、これを指定したタイミング(サインイン時など)で実行することもできます。

時刻を調整する仕組み

Windows 11やWindows 10はインターネット上にあるサーバーから正確な時刻を取得して表示してくれます。そのため、「パソコンの時計を時報と合わせた」と言う人は少ないかもしれません。

しかし、まれにパソコンの時計が「ずれる」ことがありますが、これは時刻同期のタイミングに遅延が発生したりする場合が多いです。手動でも同期できるので操作すれば良いですが、頻繁に「ずれる」と言う場合には「時刻同期するコマンド」を「タスクスケジューラーで実行すれば、指定したタイミングで同期することができます。

ちなみに、この時刻を取得する仕組みをNTPと呼び、提供しているサーバーをNTPサーバーと呼びます。

時刻同期のやり方

Windows 11を例とします。Windows 10でも同様の操作が可能ですが文言などが異なる場合があります。

手動

  1. 設定の[時刻と言語]より【日付と時刻】をクリックします。
    Windows 11→設定→時刻と言語

  2. 日付と時刻より【今すぐ同期】をクリックします。
    Windows 11→設定→時刻と言語→日付と時刻

タスクスケジューラー

  1. メモ帳などに以下のスクリプト(プログラム)を入力します。
    net stop w32time
    net start w32time
    w32tm /resync
    
  2. [ファイル]>[名前を付けて保存]より【ファイル名】【ファイルの種類】【文字コード】を入力・選択し保存をクリックします。
    項目 備考
    ファイル名 time_resync.bat 任意
    ファイルの種類 すべてのファイル
    エンコード(文字コード) UTF-8 またはANSI

    Windows 11→名前を付けて保存

    保存した[time_resync.bat]を手動で実行する場合、[管理者として実行]する必要があるので注意してください。
  3. ファイル名を指定して実行より[taskschd.msc]を入力しOKをクリックします。
    Windows 11→ファイル名を指定して実行

  4. タスクスケジューラの[タスクスケジューラライブラリ]より【基本タスクの作成】をクリックします。
    Windows 11→タスクスケジューラー→タスクスケジューラライブラリ

  5. 基本タスクの作成より【名前】【説明】を入力し次へをクリックします。
    Windows 11→タスクスケジューラー→タスクスケジューラライブラリ→基本タスクの作成

  6. タスクトリガーより【ログオン時】を選択し次へをクリックします。
    Windows 11→タスクスケジューラー→タスクスケジューラライブラリ→基本タスクの作成→タスクトリガー

  7. 操作より【プログラムの開始】を選択し次へをクリックします。
    Windows 11→タスクスケジューラー→タスクスケジューラライブラリ→基本タスクの作成→操作

  8. プログラムの開始より【プログラム/スクリプト】を入力し次へをクリックします。
    [プログラム/スクリプト]は参照をクリックし前述したスクリプト(time_resync.bat)などを指定します。

    Windows 11→タスクスケジューラー→タスクスケジューラライブラリ→基本タスクの作成→プログラムの開始

  9. 要約より内容に問題が無ければ完了をクリックします。
    Windows 11→タスクスケジューラー→タスクスケジューラライブラリ→基本タスクの作成→要約

    本来であれば終了ですが、今回のスクリプトは[管理者として実行]する必要があるため、以後に【最上位の特権で実行する】の設定を行います。
  10. タスクスケジューラライブラリより[対象のタスク]を右クリックし、コンテキストメニューより【プロパティ】をクリックします。
    Windows 11→タスクスケジューラー→タスクスケジューラライブラリ→コンテキストメニュー

  11. プロパティより【最上位の特権で実行する】をチェックしOKをクリックします。
    Windows 11→タスクスケジューラー→タスクスケジューラライブラリ→プロパティ

時刻同期のやり方は以上です。

正確な時刻の取得ができなかったり遅延が発生したりする場合は、取得先(NTPサーバー)を変更してみると改善するかもしれません。

NTPサーバーを設定するやり方

Windows 11を例とします。Windows 10でも同様の操作が可能ですが文言などが異なる場合があります。
  1. コントロールパネル(大きいアイコン)より【日付と時刻】をクリックします。
    Windows 11→コントロールパネル

  2. 日付と時刻の[インターネット時刻]より【設定の変更】をクリックします。
    Windows 11→コントロールパネル→日付と時刻→インターネット時刻

  3. インターネット時刻設定より【インターネット時刻サーバーと同期する】をチェックします。
    Windows 11→コントロールパネル→日付と時刻→インターネット時刻→インターネット時刻設定

  4. インターネット時刻設定より【サーバー】に(任意のNTPサーバ名)を入力します。
    任意のNTPサーバ名は、契約しているプロバイダーなどが公開している場合はプロバイダーのNTPサーバーを入力します。適当なNTPサーバーが無い場合は[NTPサーバー]などと検索して探すと良いでしょう。

    Windows 11→コントロールパネル→日付と時刻→インターネット時刻→インターネット時刻設定

NTPサーバーを設定するやり方は以上です。

プロフィール

この記事を書いた人
anykey

「エンジニアの休日」の管理人。
IT系ブラック企業にてSE・プログラマを5年経験したのち一般企業の社内SEを2年ほど経験しました。
図書館で読んだ本をきっかけに、こんなサイトを作るまでになりました。