一、配置NTP伺服器
配置NTP伺服器,為客戶端提供時間同步服務。
如果計算機是Active Directory域控制器,則NTP伺服器功能已自動啟動。
因此,下面的示例是計算機在工作組環境中啟用NTP伺服器功能。
1.1 使用管理員許可權執行 PowerShell 並配置。
Windows PowerShell
Copyright (C) Microsoft Corporation. All rights reserved.
# 確認當前設定(以下為預設設定)
PS C:\Users\Administrator> Get-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Services\w32time\TimeProviders\NtpServer"
AllowNonstandardModeCombinations : 1
ChainDisable : 0
ChainEntryTimeout : 16
ChainLoggingRate : 30
ChainMaxEntries : 128
ChainMaxHostEntries : 4
DllName : C:\Windows\system32\w32time.dll
Enabled : 0
EventLogFlags : 0
InputProvider : 0
RequireSecureTimeSyncRequests : 0
PSPath : Microsoft.PowerShell.Core\Registry::HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\w32
time\TimeProviders\NtpServer
PSParentPath : Microsoft.PowerShell.Core\Registry::HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\w32
time\TimeProviders
PSChildName : NtpServer
PSDrive : HKLM
PSProvider : Microsoft.PowerShell.Core\Registry
# 啟用 NTP 伺服器功能
PS C:\Users\Administrator> Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Services\w32time\TimeProviders\NtpServer" -Name "Enabled" -Value 1
# 將 [AnnounceFlags] 設定為 5
# 數字表示
# 0x00:不是時間伺服器
# 0x01 : 始終定時伺服器
# 0x02:自動時間伺服器
# 0x04 : 始終可靠的時間伺服器
# 0x08:自動可靠的時間伺服器
PS C:\Users\Administrator> Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\services\W32Time\Config" -Name "AnnounceFlags" -Value 5
# 重新啟動 Windows 時間服務
PS C:\Users\Administrator> Restart-Service w32Time
# 如果 Windows 防火牆正在執行,請允許 NTP 埠
PS C:\Users\Administrator> New-NetFirewallRule `
-Name "NTP Server Port" `
-DisplayName "NTP Server Port" `
-Description 'Allow NTP Server Port' `
-Profile Any `
-Direction Inbound `
-Action Allow `
-Protocol UDP `
-Program Any `
-LocalAddress Any `
-LocalPort 123
1.2 NTP伺服器主機還需要作為NTP客戶端與其他主機同步時間。
二、配置NTP客戶端
配置NTP客戶端以將時間與NTP伺服器同步。
NTP客戶端設定在Windows預設情況下配置為NTP伺服器【time.windows.com】,因此,如果連線Internet的環境計算機,則時間和日期已經同步。
此外,如果計算機位於 Active Directory 域中,則NTP客戶端設定也配置如下,因此通常不需要更改設定。
* 域控制器與域中的PDC同步時間 * 域中的PDC與父域中的PDC同步時間或與其他域控制器同步時間 * 客戶端計算機與客戶端現在登入的域控制器同步時間在工作組環境計算機中,可以將預設NTP伺服器更改為其他伺服器,如下所示。
2.1 使用管理員許可權執行 PowerShell 並配置。
Windows PowerShell
Copyright (C) Microsoft Corporation. All rights reserved.
# 確認當前同步 NTP 伺服器
PS C:\Users\Administrator> w32tm /query /source
time.windows.com,0x8
# 更改目標 NTP 伺服器(替換為時區伺服器)
# 數字表示
# 0x01 : 使用特殊輪詢間隔
# 0x02 : UseAsFallbackOnly
# 0x04 : 以 SymmetricActive 模式傳送請求
# 0x08 : 以客戶端模式傳送請求
PS C:\Users\Administrator> Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Services\w32time\Parameters" -Name "NtpServer" -Value "ntp.ntsc.ac.cn,0x8"
# 重新啟動 Windows 時間服務
PS C:\Users\Administrator> Restart-Service w32Time
# 手動重新同步
PS C:\Users\Administrator> w32tm /resync
Sending resync command to local computer
The command completed successfully.
# 驗證狀態
PS C:\Users\Administrator> w32tm /query /status
Leap Indicator: 0(no warning)
Stratum: 2 (secondary reference - syncd by (S)NTP)
Precision: -23 (119.209ns per tick)
Root Delay: 0.0154647s
Root Dispersion: 7.7603588s
ReferenceId: 0x85F3EEF3 (source IP: 133.243.238.243)
Last Successful Sync Time: 05/26/2024 11:05:40 PM
Source: ntp.ntsc.ac.cn,0x8
Poll Interval: 6 (64s)
2.2 如果計算機位於 Active Directory 域環境中,並且他是Forrest Root,同步目標通常配置為【本地CMOS時鐘】(硬體時鐘),然後,如果要將設定從【本地CMOS時鐘】更改為其他網路NTP伺服器,請按如下方式設定。
Windows PowerShell
Copyright (C) Microsoft Corporation. All rights reserved.
# 在AD域環境中,[型別]通常設定為[NT5DS]
PS C:\Users\Administrator> (Get-Item -Path "HKLM:\SYSTEM\CurrentControlSet\Services\w32time\Parameters").GetValue("Type")
NT5DS
# 在 Forrest Root 的域控制器上,
# 如果目標是[本地CMOS時鐘],則將[型別]更改為[NTP]
# 接下來,在[1]部分中以相同的方式更改為NTP伺服器
PS C:\Users\Administrator> Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Services\w32time\Parameters" -Name "Type" -Value "NTP"