Home > Windows にまつわる e.t.c.

現在時刻を NICT の Web API / NTP で合わせる


現在時刻の合わせ方

NICT が Web API で現在時刻を提供しているので、こいつを使って現在時刻を設定します。

日本標準時プロジェクト
http://www.nict.go.jp/JST/http.html

 

管理権限 PowerShell プロンプトにコピペします

# JST な UNIX Time
$UnixJST = [datetime]"1970/01/01 09:00:00"

# Web API から現在時刻をセット
Set-Date $UnixJST.AddSeconds((Invoke-RestMethod -Uri https://ntp-a1.nict.go.jp/cgi-bin/json).st)

 

NTP で時刻を合わせる

現在時刻を合わせても、また時刻が狂っては意味が無いので、w32time サービスを使って NICT の NTP と時刻同期するようにします。

NTP で時刻同期する場合は w32tm /config コマンドで設定します。

管理権限 PowerShell プロンプトにコピペします

$Service = Get-Service w32time
if( $Service.Status -eq "Stopped" ){

    # w32time が止まっていたら遅延起動に設定しサービスを開始する
    cmd /c sc config w32time start= delayed-auto
    Start-Service w32time

    # 起動完了するまで10秒待つ
    sleep 10
}

# 現在時刻を合わせる
$UnixJST = [datetime]"1970/01/01 09:00:00"
Set-Date $UnixJST.AddSeconds((Invoke-RestMethod -Uri https://ntp-a1.nict.go.jp/cgi-bin/json).st)

# NICT に同期する
w32tm /config /syncfromflags:manual /manualpeerlist:ntp.nict.jp /update
w32tm /resync

 

【注意】 ドメイン環境の場合は、ドメコンから時刻をもらうので、ドメインメンバーの NTP 設定をむやみに設定変更してはいけません。

ドメコンの時刻が狂う場合は、ドメコンを NICT の NTP に向けます。

ドメインの時刻をNICTのNTPと同期させる
http://www.vwnet.jp/Windows/WS08R2/NTP/w32time.html

 

参考情報

NTP 同期状態ロギング
http://www.vwnet.jp/Windows/PowerShell/2018071601/NTPSyncLog.htm

 

 

back.gif (1980 バイト)

home.gif (1907 バイト)

Copyright © MURA All rights reserved.