Windowsコマンドプロンプトで「net time」を使いこなす方法

net timeは、ネットワーク上のWindowsコンピューターやドメインの時刻を表示し、/setで自分のPCの時計を合わせるコマンドです。時刻を確認するだけなら/setを付けません。公開NTPサーバーへ接続する設定や、継続的な自動同期の管理にはWindows Time(W32Time)とw32tmを使い、net timeの単発操作と区別します。

net time /setはその時点の時計を合わせる操作で、Windows Timeの継続的な同期先を設定する操作ではありません。

会社・学校のドメイン参加PCやサーバーで、任意の外部時刻へ手動変更を繰り返さないでください。認証、ログ、スケジュールに影響するため、現在の同期元と管理ポリシーを確認してから管理者が対応します。以下のserver-name・example.internalは、組織で承認された実際の相手へ置き換える例です。

目次

net timeの構文と/set・/yの意味

Windowsのコマンドプロンプトで、利用している端末のヘルプを確認できます。これは時刻を変更しません。

net help time

現行端末のヘルプには\\computername、/DOMAIN[:domainname]、/RTSDOMAIN[:domainname]、/SETが表示されます。/QUERYSNTPと/SETSNTPは非推奨となり、Windows Timeの設定にはw32tm.exeを使うよう案内されています。古いWindows 2000向けの例を現行のNTP設定へそのまま当てはめないでください。

指定操作注意
\\server-name指定Windowsコンピューターの時刻を表示。一般的な公開NTPサーバーをこの形式で指定する用途ではない。
/domain[:domainname]ドメインのPDCの時刻を確認・指定する。現在のW32Time同期元とは同じとは限らない。
/rtsdomain[:domainname]指定ドメインの信頼できる時刻サーバーを利用。端末のヘルプと組織の構成を確認。
/setローカルのシステム時刻を相手に合わせる。時刻変更の権限が必要。継続的同期先は変更しない。
/y(/yesとして使われる指定)時刻変更時の確認を省く用途。最初の確認では付けず、相手と変更の影響を読んで判断。

指定Windowsコンピューターの時刻を表示する

まず表示だけのコマンドで、承認された相手にアクセスできるか確認します。\\を付ける相手は、Windowsのコンピューター名です。

net time \\server-name

公開NTPのtime.windows.comなどを\\server-nameの代わりに入れて「NTP設定」とする方法ではありません。net timeの問い合わせと、W32Timeが行うNTP通信は別の確認です。問い合わせ失敗でも、ローカルW32Timeの時刻同期が失敗していると同時に確定するわけではありません。

ドメインの時刻を表示する例は次です。ドメインの構成や接続状態によって結果が変わります。

net time /domain

net time /domainで取得した相手と、現在のPCのW32Time同期元は区別します。後述のw32tm /query /sourceで実際の同期元を確認してください。

net time /setで一度だけ時計を合わせる

時刻変更が必要で、相手の信頼性と端末への影響を確認した管理者が行う例です。問い合わせだけの操作に/setを追加するとローカルの時計が変わるため、実行の意味が変わります。まず確認を残す例を使います。

net time \\server-name /set

確認を省く/yを付けた例は次です。検索で見かけるnet time /set /yも、この確認省略の組み合わせです。/yを付けることは権限付与や同期先の信頼性確認の代わりにはなりません。利用環境の対応を確認し、最初から無確認で実行しないでください。

net time \\server-name /set /y

Microsoftの古いWindows 2000向け資料には/set /yesをログオンスクリプトで使う例がありますが、古いOSの運用例です。この記事の継続同期は現行のWindows Time公式資料を基準にします。

Change the system timeのユーザー権利と組織ポリシーにより操作できる主体は変わります。「アクセス拒否なら管理者起動ですべて解消」と断定しません。端末の管理ルールを確認し、サーバーや業務端末では変更前後の時刻、アプリへの影響、作業時刻を記録します。

time /tだけでは同期の成功を判定できない

現在のローカル表示を確認するコマンドです。/tを付ける例は、入力して時計を変更するものではありません。

time /t
date /t

表示はローカルのタイムゾーン・地域設定に依存します。別のタイムゾーンの相手と画面の時刻が違っても、UTC基準の時計が誤っているとは限りません。また表示した時点が異なり、time /tだけでは同期元・最終成功時刻・細かいずれを確認できません。タイムゾーンの設定と時計の同期を分けて考えます。

w32tmで現在の同期元と状態を確認する

Microsoftはw32tmをW32Timeの設定・監視・診断に使う推奨コマンドとして案内しています。公式手順に従い、必要な管理権限を持つコマンドプロンプトで実行します。以下の/queryは現在の情報を表示する操作であり、手動NTPサーバーへの再設定ではありません。

現在の同期元

w32tm /query /source

ここに表示されるのは現在の時刻ソースです。Local CMOS Clockなど内部時計を示す状態を見ても、文字列だけでハードウェア故障と決めません。意図した構成、サービスの状態、最後の同期結果を照合します。

最終成功時刻と状態

w32tm /query /status /verbose

Source、Last Successful Sync Time、Leap Indicator、Stratumなどを確認します。コマンドが情報を返すことと、直近の同期が成功していることは別です。エラーがある場合はコードと発生時刻を控え、他の値と併せて解釈します。

設定と設定元

w32tm /query /configuration

TypeとNtpServerなどを確認します。TypeがNT5DSならドメイン階層、NTPなら指定ピアから同期する構成です。NT5DSでNtpServerの文字列が見えるだけで、そこへ実際に同期していると判定しません。出力でポリシーが設定元になっていれば、ローカルだけの変更は適切でない場合があります。

ピアとサービスの状態

w32tm /query /peers
sc query W32Time

sc queryはcmdの例です。PowerShellではscが別コマンドのエイリアスになっている構成があるため、使うならsc.exe query W32Timeと明示します。サービスが停止している表示だけで無条件に停止・再登録を繰り返さず、起動方式・イベント・組織ポリシーを確認してください。

NTPでのずれを5回だけ測定する

相手が承認されたNTP時刻サーバーで、測定通信を行ってよい場合はstripchartを使えます。これはローカル時計を合わせるコマンドではなく、相手との差を測るものです。samplesで回数を制限します。

w32tm /stripchart /computer:approved-ntp.example.internal /dataonly /samples:5

W32TimeのNTPはUDP 123を使います。公式説明では、組み込みNTPクライアントは送信元UDP 123、stripchartは競合を避けるため一時的な送信元UDPポートを使います。そのためstripchartの成功だけで、実際のW32Time同期の通信も必ず通るとは断定できません。pingやTCP接続確認も、UDPのNTP応答の確認とは別です。

ファイアウォールを全面無効化したり、net timeのためという理由で無関係なポートをまとめて開けたりしません。管理者が利用する方式・相手・通信経路・ログを確認します。

現在の構成のまま再同期する場合

同期元と設定を確認した管理者が、現在の構成からの再同期を要求する例です。時計が変更される可能性がある操作なので、表示専用の/queryと区別してください。

w32tm /resync

「no time data was available」などで失敗する場合は、NTPサーバー名、ドメイン接続、UDP通信、サービス、ポリシー、許容される時刻差などを切り分けます。再試行の連打やw32tm /unregister→/registerを初手にせず、失敗コードとイベントを確認します。大きなずれを本番サーバーで自己判断で戻す作業は避け、管理者が業務への影響を検討します。

ドメインPCとフォレストルートPDCの役割を分ける

Windows Timeの動作説明では、ドメイン参加コンピューターは既定でドメインの時刻階層に従います。すべてのDCをそれぞれ外部NTPへ向ける設計ではありません。フォレストルートドメインのPDCエミュレーターが階層の上位であり、ルートPDCの公式構成案内に沿って外部または承認された時刻源を管理します。

過去に手動NTPへ変更された通常のドメインメンバーを階層同期へ戻す例は次です。これは設定変更です。ルートPDC、スタンドアロンPC、設計上別のソースを使う端末へ一律に実行してはいけません。ポリシー管理の場合は管理者がポリシー側から修正します。

w32tm /config /syncfromflags:domhier /update

ドメインの状態を監視する例です。承認されたドメイン名と必要な権限・接続環境で使います。ローカル端末だけの変更操作ではありませんが、ドメイン内の相手へ問い合わせを行います。

w32tm /monitor /domain:example.internal

ルートPDCのNtpServer文字列だけをレジストリで変更し、サービスを再起動すれば全体が正しく同期する、という扱いにはしません。Type、時刻プロバイダー、ポリシー、適用・再同期と結果を一緒に確認します。仮想マシンではホストによる時刻提供も関係する場合があり、ホスト側との設計を管理者が確認します。

毎日のnet time /setタスクは継続同期の設定と異なる

net time /set /yをタスクスケジューラへ登録しても、W32Timeの同期元は設定されません。途中で時計が変更されたり、ドメイン階層や仮想環境の時刻提供と競合したりする可能性があります。継続的な同期はW32Timeの設計・ポリシーを確認し、表示専用の状態監視と時刻変更の定期タスクを区別します。

既存の同期タスクがある場合は、管理者がタスクの実行ユーザー、引数、履歴とW32Time設定を確認します。記事の例を理由に、新しい無確認の時刻変更タスクを追加する対応にはしません。

エラー別に見る確認先

現象確認する点
アクセス拒否問い合わせか/setか、実行権限、Change the system time権利と組織ポリシー。
相手を見つけられない名前・接続・VPN・方式を確認。公開NTPをnet timeのWindows相手として指定していないか。
時刻データを取得できないw32tmの設定/ソース、UDP経路、サービス、イベント。
時計が合ってもすぐ戻るW32Timeの同期源、ポリシー、既存タスク、仮想ホストからの提供。
表示が数時間違うタイムゾーンと日時を確認。表示差とUTC基準のずれを区別。
構文エラーnet help time / w32tm /?と照合し、実行シェルを確認。

エラーの番号が表示された場合は、その番号と全文を記録します。「サーバーが拒否した」などの一般的な表現だけから、ファイアウォールや管理者権限の不足に原因を固定しないでください。

よくある質問

net time /set /yを実行すれば自動同期になりますか?

その実行時点でローカル時計を合わせる操作です。Windows Timeの継続的な同期先やドメイン階層を設定したことにはなりません。

net time \\time.windows.comでNTP同期できますか?

net timeのWindowsコンピューターへの問い合わせと公開NTP通信は別です。現行のNTP構成・診断はw32tmとWindows Timeの公式手順を使います。

net timeとNetTimeアプリは同じものですか?

Windowsのnet.exeに含まれるnet timeコマンドと、似た名称の外部時刻同期アプリは別です。この記事はWindows標準コマンドを対象にしており、外部アプリの設定手順ではありません。

まとめ

net timeは表示と/setによる単発変更を区別して使います。/yは確認を省くため初手には付けず、信頼できる相手と権限を確認してください。継続同期はW32Time、診断はw32tmで行い、ドメインメンバーとルートPDCの役割を分けて現在のSource・Status・Configurationを照合します。

この記事を書いた人

実務の現場で詰まりがちなポイントを地図にするITブログ「IT trip」を運営。Windows/Office(Teams・Excel)からSQL、サーバ運用、ガジェットまで、再現性のある手順と“なぜそうなるか”を丁寧に解説します。読んだらすぐ試せること、そして迷った人の次の一歩が見えることを大切にしています。

コメント

コメントする

目次