Windows 시간 서비스 도구 및 설정

적용 대상: Windows Server 2022, Windows Server 2019, Windows Server 2016, Windows Server 2012 R2, Windows Server 2012, Windows 11, Windows 10, Azure Stack HCI 버전 21H2 및 20H2

Windows 시간 서비스(W32Time)는 AD DS(Active Directory Domain Services)에서 관리하는 모든 컴퓨터의 날짜와 시간을 동기화합니다. 이 문서에서는 Windows 시간 서비스를 관리하는 데 사용되는 다양한 도구와 설정을 다룹니다.

기본적으로 도메인에 가입된 컴퓨터는 시간 원본의 도메인 계층 구조를 통해 시간을 동기화합니다. 그러나 특정 시간 원본으로 동기화하도록 수동으로 구성된 컴퓨터는 이전에 도메인에 가입하지 않았을 수 있으므로 도메인 계층 구조에서 시간을 자동으로 소싱하도록 다시 구성할 수 있습니다.

대부분의 도메인 가입 컴퓨터에는 NT5DS의 시간 클라이언트 유형이 있습니다. 즉, 도메인 계층 구조에서 시간을 동기화합니다. 이에 대한 예외는 루트 포리스트 도메인의 PDC(주 도메인 컨트롤러) 에뮬레이터 작업 마스터로 작동하는 도메인 컨트롤러입니다. PDC 에뮬레이터 작업 마스터는 시간을 외부 시간 원본과 동기화하도록 구성됩니다.

도메인에서 1밀리초의 시간 정확도를 달성할 수 있습니다. 자세한 내용은 Windows Server 2016의 정확도 높은 시간과정확한 시간에 대한 지원 경계를 참조하세요.

주의

Net time 명령을 사용하여 Windows 시간 서비스가 실행되는 컴퓨터의 시계 시간을 구성하거나 설정하지 마세요.

또한 Windows XP 또는 이전 버전을 실행하는 이전 컴퓨터에서 Net time /querysntp 명령은 컴퓨터가 동기화되도록 구성된 NTP(Network Time Protocol) 서버의 이름을 표시하지만, 해당 NTP 서버는 컴퓨터의 시간 클라이언트가 NTP 또는 AllSync로 구성된 경우에만 사용됩니다. 이 명령은 이후부터 더 이상 사용되지 않습니다.

네트워크 포트

Windows 시간 서비스는 NTP(네트워크 시간 프로토콜) 사양을 따르므로 모든 시간 동기화에 123 UDP 포트를 사용해야 합니다. 컴퓨터에서 시계를 동기화하거나 시간을 다른 컴퓨터에 제공할 때마다 해당 통신은 UDP 포트 123에서 수행됩니다. 이 포트는 Windows 시간 서비스에서 대상 포트로 예약됩니다.

참고 항목

  • NTP 서버는 일반적으로 UDP 포트 123에서 요청을 수신하고 동일한 포트에서 응답합니다. 이는 받은 편지함 W32Time NTP 서버에 대해서도 마찬가지입니다.
  • 받은 편지함 W32Time NTP 클라이언트 및 NTP 서버는 독립적으로 사용하거나 사용하지 않도록 설정할 수 있으며 둘 다 해당 함수에 대해 UDP 포트 123을 공유합니다.
  • 받은 편지함 W32Time NTP 클라이언트는 원본 포트로 UDP 123만 사용할 수 있습니다.
  • 여러 네트워크 어댑터가 있는 컴퓨터(멀티홈)를 사용하는 경우 네트워크 어댑터를 기반으로 하여 Windows 시간 서비스를 사용하도록 설정할 수 없습니다.

W32Time에 대한 명령줄 매개 변수

w32tm 명령을 사용하여 Windows 시간 서비스 설정을 구성하고 컴퓨터 시간 문제를 진단할 수 있습니다. W32tm 는 Windows 시간 서비스를 구성, 모니터링 및 문제 해결하기 위한 기본 명령줄 도구입니다. 이 도구를 로컬로 실행하려면 로컬 관리istrators 그룹의 멤버 자격이 필요하며 이 도구를 원격으로 실행하려면 Do기본 관리s 그룹의 멤버 자격이 필요합니다.

사용 w32tm하려면 다음을 수행합니다.

  1. 시작 > 유형 cmd>를 클릭하고 명령 프롬프트를 마우스 오른쪽 단추>로 클릭하고 관리자 권한으로 실행을 선택합니다.
  2. 명령 프롬프트에서 w32tm을 입력한 다음 해당 매개 변수를 입력합니다.
매개 변수 설명
/? w32tm 명령줄 도움말 표시
/config [/computer:<target>] [/update] [/manualpeerlist:<peers>] [/syncfromflags:<source>] [/LocalClockDispersion:<seconds>] [/reliable:(YES|NO)] [/largephaseoffset:<milliseconds>]** /computer:<target: 대상>>< 구성을 조정합니다. 지정하지 않으면 기본값은 로컬 컴퓨터입니다.

/update: 구성을 변경하여 변경 내용이 적용되었음을 Windows 시간 서비스에 알립니다.

/manualpeerlist:<peers>: 수동 피어 목록을 <DNS 또는 IP 주소의 공백으로 구분된 목록인 피어>로 설정합니다. 여러 피어를 지정하는 경우 이 옵션은 따옴표로 묶어야 합니다.

/syncfromflags:<source>: NTP 클라이언트가 동기화해야 하는 원본을 설정합니다. <원본>은 이러한 키워드(keyword) 쉼표로 구분된 목록이어야 합니다(대/소문자를 구분하지 않음).

  • 수동: 수동 피어 목록의 피어를 포함합니다.
  • DOMHIER: do기본 계층 구조의 DC(do기본 컨트롤러에서 동기화합니다.

/LocalClockDispersion:<seconds>: 구성된 원본에서 시간을 확보할 수 없을 때 W32Time이 가정하는 내부 클록의 정확도를 구성합니다.

/reliable:(YES|NO): 이 컴퓨터가 신뢰할 수 있는 시간 원본인지 여부를 설정합니다. 이 설정은 도메인 컨트롤러에서만 의미가 있습니다.

  • : 이 컴퓨터는 신뢰할 수 있는 시간 서비스입니다.
  • 아니요: 이 컴퓨터는 신뢰할 수 있는 시간 서비스가 아닙니다.

/largephaseoffset:<milliseconds>: W32Time에서 급증을 고려할 로컬 시간과 네트워크 시간 간의 시간 차이를 설정합니다.

/debug {/disable | {/enable /file:<name> /size:/<bytes> /entries:<value> [/truncate]}} 로컬 컴퓨터 Windows 시간 서비스 프라이빗 로그를 사용하거나 사용하지 않도록 설정합니다. 이 매개 변수는 Windows Vista 및 Windows Server 2008의 Windows 시간 클라이언트에서 처음 사용할 수 있게 되었습니다.

/disable: 프라이빗 로그를 사용하지 않도록 설정합니다.

/enable: 프라이빗 로그를 사용하도록 설정합니다.

  • file:<name>: 절대 파일 이름을 지정합니다.
  • size:<bytes>: 순환 로깅의 최대 크기를 지정합니다.
  • entries:<value>: 숫자로 지정되고 기록해야 하는 정보 유형을 지정하는 쉼표로 구분된 플래그 목록을 포함합니다. 유효한 값은 0 ~ 300입니다. 단일 숫자뿐만 아니라 숫자 범위(예: 0-100,103,106)도 유효합니다. 모든 정보를 기록하려면 0-300의 값을 설정합니다.

/truncate: 파일이 있으면 자립니다.

/dumpreg [/subkey:<key>] [/computer:<target>] 지정된 레지스트리 키와 연결된 값을 표시합니다.

기본 키는 HKLM\System\CurrentControlSet\Services\W32Time(Windows 시간 서비스의 루트 키)입니다.

/subkey:<key>: 기본 키의 하위 키 <키> 와 연결된 값을 표시합니다.

/computer:<target: 컴퓨터 <대상>>에 대한 레지스트리 설정을 쿼리합니다.

/monitor [/do기본:<do기본 name>] [/computers:<name>[,<name>[,<name>...]]] [/threads:<num]> Windows 시간 서비스를 모니터링합니다.

/do기본: 모니터링할 기본 지정합니다. 도메인 이름을 지정하지 않거나 /domain 또는 /computers 옵션을 지정하지 않으면 기본 도메인이 사용됩니다. 이 옵션은 여러 번 사용할 수 있습니다.

/computers: 지정된 컴퓨터 목록을 모니터링합니다. 컴퓨터 이름은 공백 없이 쉼표로 구분됩니다. 이름 앞에 접두사를 지정 *하면 PDC로 처리됩니다. 이 옵션은 여러 번 사용할 수 있습니다.

/threads: 동시에 분석할 컴퓨터 수를 지정합니다. 기본값은 3입니다. 허용되는 범위는 1-50입니다.

/ntpte<NTP 시간 epoch> NTP 시간(1900년 1월 1일 0시부터 2-32초 간격으로 측정됨)을 읽을 수 있는 형식으로 변환합니다.
/ntte<NT 시간 epoch> Windows NT 시스템 시간(1601년 1월 1일 0시부터 10-7초 간격으로 측정됨)을 읽을 수 있는 형식으로 변환합니다.
/query [/computer:<target>] {/source | /configuration | /peers | /상태} [/verbose] 컴퓨터의 Windows 시간 서비스 정보를 표시합니다. 이 매개 변수는 Windows Vista 및 Windows Server 2008의 Windows 시간 클라이언트에서 처음 사용할 수 있게 되었습니다.

/computer:<target: 대상>>< 정보를 쿼리합니다. 지정하지 않으면 기본값은 로컬 컴퓨터입니다.

/source: 시간 원본을 표시합니다.

/configuration: 런타임의 구성과 설정의 원본 위치를 표시합니다. 자세한 정보 표시 모드에서는 정의되지 않음 또는 사용되지 않음 설정도 표시합니다.

/peers: 피어 및 해당 상태 목록을 표시합니다.

/상태: Windows 시간 서비스 상태 표시합니다.

/verbose: 자세한 정보를 표시하도록 자세한 정보 표시 모드를 설정합니다.

/register 서비스로 실행할 Windows 시간 서비스를 등록하고 기본 구성 정보를 레지스트리에 추가합니다.
/resync [/computer:<computer>] [/nowait] [/rediscover] [/soft] 누적된 오류 통계를 모두 제거하여 가능한 한 빨리 시계를 다시 동기화해야 한다고 컴퓨터에 알립니다. NTP 클라이언트에는 원본 포트로 UDP 123이 필요합니다.

/computer:<computer>: 다시 동기화해야 하는 컴퓨터를 지정합니다. 지정하지 않으면 로컬 컴퓨터가 다시 동기화됩니다.

/nowait: 다시 동기화가 발생할 때까지 기다리지 말고 즉시 반환합니다. 그렇지 않으면 다시 동기화가 완료될 때까지 기다린 후에 반환합니다.

/rediscover: 네트워크 구성을 다시 감지하고, 네트워크 원본을 다시 검색한 다음, 다시 동기화합니다.

/soft: 기존 오류 통계를 사용하여 다시 동기화합니다. 호환성을 위해 사용됩니다.

/stripchart /computer:<target> [/period:<refresh>] [/dataonly] [/samples:<count>] [/rdtsc] 이 컴퓨터와 다른 컴퓨터 간의 오프셋에 대한 스트립 차트를 표시합니다. NTP 클라이언트는 임시 UDP 원본 포트를 사용하여 받은 편지함 NTP 클라이언트와의 충돌을 방지하기 위해 서버와 통신합니다.

/computer:<target>: 오프셋을 측정할 컴퓨터입니다.

/period:<refresh>: 샘플 사이의 시간(초)입니다. 기본값은 2초입니다.

/dataonly: 그래픽 없이 데이터만 표시합니다.

/samples:<count>: 개수> 샘플을 수집한 <다음 중지합니다. 지정하지 않으면 Ctrl+C를 누를 때까지 샘플이 수집됩니다.

/rdtsc: 각 샘플에 대해 이 옵션은 텍스트 그래픽 대신 RdtscStart, RdtscEnd, FileTime, RoundtripDelay 및 NtpOffset 헤더함께 쉼표로 구분된 값을 출력합니다.

  • RdtscStart: NTP 요청이 생성되기 직전에 수집된 RDTSC(읽기 타임스탬프 카운터) 값입니다.
  • RdtscEnd: NTP 응답을 받고 처리한 직후 수집된 RDTSC 값입니다.
  • FileTime: NTP 요청에 사용되는 로컬 FILETIME 값입니다.
  • RoundtripDelay: NTP 요청을 생성하고 수신된 NTP 응답을 처리하는 동안 NTP 왕복 계산에 따라 계산되는 시간(초)이 경과되었습니다.
  • NTPOffset: NTP 오프셋 계산에 따라 계산된 로컬 컴퓨터와 NTP 서버 간의 시간 오프셋(초)입니다.
/tz 현재 표준 시간대 설정을 표시합니다.
/unregister Windows 시간 서비스의 등록을 취소하고 레지스트리에서 모든 구성 정보를 제거합니다.

두 개의 시간 서버를 사용하도록 클라이언트 설정

클라이언트 컴퓨터가 두 ntpserver.contoso.comclock.adatum.com개의 서로 다른 시간 서버를 가리키도록 설정하려면 다음을 실행합니다.

w32tm /config /manualpeerlist:"ntpserver.contoso.com clock.adatum.com" /syncfromflags:manual /update

할 일 원본에서 자동으로 시간을 동기화하도록 클라이언트를 설정합니다기본

수동으로 지정한 컴퓨터를 사용하여 현재 시간을 동기화하는 클라이언트 컴퓨터를 구성하여 AD에서 자동으로 시간을 동기화하려면 기본 계층 구조를 실행합니다.

w32tm /config /syncfromflags:domhier /update

net stop w32time

net start w32time

클라이언트 시간 구성 확인

호스트 이름이 contosoW1인 Windows 기반 클라이언트 컴퓨터에서 클라이언트 구성을 확인하려면 다음 명령을 실행합니다.

w32tm /query /computer:contosoW1 /configuration

이 명령의 출력에는 클라이언트에 대해 설정된 W32Time 구성 매개 변수 목록이 표시됩니다.

Windows Server 2016 이후 RFC 사양에 맞게 시간 동기화 알고리즘 이 개선되었습니다. 따라서 로컬 시간 클라이언트가 여러 피어를 가리키도록 설정하려면 세 개 이상의 다른 시간 서버를 준비하는 것이 좋습니다.

시간 서버가 두 개뿐인 경우 NtpServerUseAsFallbackOnly 플래그(0x2)를 지정하여 서버 중 하나를 우선 순위를 지정해야 합니다. 예를 들어 우선 순위를 지정 ntpserver.contoso.comclock.adatum.com하려면 다음 명령을 실행합니다.

w32tm /config /manualpeerlist:"ntpserver.contoso.com,0x8 clock.adatum.com,0x2" /syncfromflags:manual /update

또는 다음 명령을 실행하고 출력의 NtpServer 값을 읽을 수 있습니다.

reg query HKLM\SYSTEM\CurrentControlSet\Services\W32Time\Parameters

컴퓨터 시계 다시 설정 구성

컴퓨터 클록을 다시 설정하기 위해 w32tm 먼저 현재 시간과 컴퓨터 클록 시간 사이에 오프셋CurrentTimeOffsetPhase Offset검사 오프셋이 값보다 MaxAllowedPhaseOffset 작은지 여부를 확인합니다.

  • CurrentTimeOffsetMaxAllowedPhaseOffset≤: 시계 속도를 사용하여 컴퓨터 시계를 점진적으로 조정합니다.
  • CurrentTimeOffset>MaxAllowedPhaseOffset: 컴퓨터 시계를 즉시 설정합니다.

그런 다음 클록 속도를 w32tm 사용하여 컴퓨터 클록을 조정하려면 값을 계산합니다 PhaseCorrection . 이 알고리즘은 Windows 버전에 따라 다릅니다.

  • Windows Server 2016 이상 버전:

    PhaseCorrection_raw = (CurrentTimeOffset) ÷ (16 × PhaseCorrectRate × pollIntervalInSeconds)

    MaximumCorrection = (CurrentTimeOffset) ÷ (UpdateInterval ÷ 100)

    PhaseCorrection = min(PhaseCorrection_raw, MaximumCorrection)

  • Windows Server 2012 R2 및 이전 버전:

    값을 얻으려면 SystemClockRate 다음 명령을 사용하여 수식(초 × 1,000× 10,000초)을 사용하여 초에서 클록 틱으로 변환할 수 있습니다.

    PhaseCorrection = (CurrentTimeOffset) ÷ (PhaseCorrectRate × UpdateInterval)

모든 버전의 Windows가 동일한 최종 수식을 사용하여 PhaseCorrection을 확인합니다.

PhaseCorrectionSystemClockRate ≤ ÷ 2

참고 항목

Windows Server 2019 및 Windows 10 1809에는 KB5006744 이후의 누적 업데이트를 적용하여 위에서 설명한 Windows Server 2016 이상 버전과 동일한 수식이 있습니다.

이러한 수식은 클록 틱 단위로 측정된 PhaseCorrectRate, UpdateInterval, MaxAllowedPhaseOffsetSystemClockRate를 사용합니다. Windows 시스템에서 1ms = 10,000 클록 틱입니다.

MaxAllowedPhaseOffset은 레지스트리에서 구성할 수 있습니다. 그러나 레지스트리 매개 변수는 클록 틱 대신 초 단위로 측정됩니다.

SystemClockRatepollIntervalInSeconds 값(초 단위)을 보려면 명령 프롬프트 창을 연 후 w32tm /query /status /verbose를 실행합니다. 이 명령은 다음과 유사한 출력을 생성합니다.

Leap Indicator: 0(no warning)
Stratum: 1 (primary reference - syncd by radio clock)
Precision: -23 (119.209ns per tick)
Root Delay: 0.0003538s
Root Dispersion: 0.0100002s
ReferenceId: 0x00000000 (unspecified)
Last Successful Sync Time: 5/23/2023 7:51:39 PM
Source: VM IC Time Synchronization Provider
Poll Interval: 6 (64s)
 
Phase Offset: -0.0000013s
ClockRate: 0.0156250s
State Machine: 2 (Sync)
Time Source Flags: 3 (Authenticated Hardware )
Server Role: 0 (None)
Last Sync Error: 0 (The command completed successfully.)
Time since Last Good Sync Time: 15.7344985s

이 출력은 폴링 간격을 클록 틱과 초 단위로 표시합니다. 이러한 수식은 초 단위로 측정된 값(괄호 안에 있는 값)을 사용합니다. 이 출력은 클록 속도(초)를 표시합니다. SystemClockRate 값을 클록 틱 단위로 보려면 다음 수식을 사용하세요.

(value in seconds) × 1,000 × 10,000

예를 들어 SystemClockRate가 0.0156250초일 경우 수식에서 사용하는 값은 156,250 클록 틱입니다. 다음 예제에서는 Windows Server 2012 R2 및 이전 버전에 이러한 계산을 적용하는 방법을 보여 줍니다.

시스템 클록 속도가 4분 끄기

컴퓨터 클록 시간이 11:05이고 실제 현재 시간은 11:09입니다.

PhaseCorrectRate = 1

UpdateInterval = 30,000 클록 틱

SystemClockRate = 156,000 클록 틱

MaxAllowedPhaseOffset = 10분 = 600초 = 600 × 1,000 × 10,000 = 6,000,000,000 클록 틱

CurrentTimeOffset = 4분 = 4 × 60 × 1,000 × 10,000 = 2,400,000,000 클록 틱

MaxAllowedPhaseOffset?CurrentTimeOffset

2,400,000,000 ≤ 6,000,000,000 = True

다음 수식을 충족하나요?

(CurrentTimeOffset) ÷ (PhaseCorrectRate × UpdateInterval) ≤ SystemClockRate ÷ 2

2,400,000,000 ÷ (30,000 × 1) ≤ 156,000 ÷ 2

80,000 ≤ 78,000 = False

따라서 w32tm 시계를 즉시 다시 설정합니다.

참고 항목

이 경우 시계를 천천히 다시 설정하려는 경우 수식 결과가 true인지 확인하기 위해 레지스트리의 PhaseCorrectRateUpdateInterval 값을 조정해야 합니다.

시스템 클록 속도가 3분 끄기

컴퓨터 클록 시간이 11:05이고 실제 현재 시간은 11:08입니다.

PhaseCorrectRate = 1

UpdateInterval = 30,000 클록 틱

SystemClockRate = 156,000 클록 틱

MaxAllowedPhaseOffset = 10분 = 600초 = 600 × 1,000 × 10,000 = 6,000,000,000 클록 틱

CurrentTimeOffset = 3분 = 3× 60 × 1,000 × 10,000 = 1,800,000,000 클록 틱

MaxAllowedPhaseOffset?CurrentTimeOffset

1,800,000,000 ≤ 6,000,000,000 = True

다음 수식을 충족하나요?

(CurrentTimeOffset) ÷ (PhaseCorrectRate × UpdateInterval) ≤ SystemClockRate ÷ 2

(1,800,000,000) ÷ (1 × 30,000) ≤ 156,000 ÷ 2

60,000 ≤ 78,000 = True

이 경우 시계가 천천히 다시 설정됩니다.

로컬 그룹 정책 편집기 사용

Windows 시간 서비스는 여러 구성 속성을 레지스트리 항목으로 저장합니다. 로컬 그룹 정책 편집기에서 GPO(그룹 정책 개체)를 사용하여 이 정보의 대부분을 구성할 수 있습니다. 예를 들어 GPO를 사용하여 컴퓨터를 NTPServer 또는 NTPClient로 구성하거나 시간 동기화 메커니즘을 구성하거나 컴퓨터를 신뢰할 수 있는 시간 원본으로 구성할 수 있습니다. Windows 시간 서비스에 대한 그룹 정책 설정을 적용하여 Windows Server 2003 및 이후 반복부터 기본 컨트롤러를 적용할 수 있습니다.

Windows는 Windows 시간 서비스 정책 정보를 로컬 그룹 정책 편집기에서 컴퓨터 구성\관리표시 템플릿\System\Windows 시간 서비스에 저장합니다. 정책이 Windows 레지스트리에 정의한 구성 정보가 저장된 후 이러한 레지스트리 항목을 사용하여 Windows 시간 서비스와 관련된 레지스트리 항목이 구성됩니다. 따라서 그룹 정책에 의해 정의된 값이 레지스트리의 Windows 시간 서비스 섹션에 있는 기존 값을 덮어씁니다. 미리 설정된 GPO 설정 중 일부는 해당 기본 Windows 시간 서비스 레지스트리 항목과 다릅니다.

다음 표에서는 Windows 시간 서비스 및 해당 정책에 영향을 주는 레지스트리 하위 키에 대해 구성할 수 있는 정책을 나열합니다.

그룹 정책 레지스트리 위치1,2
전역 구성 설정 W32Time
W32Time\Config
W32Time\Parameters
시간 공급자\Windows NTP 클라이언트 구성 W32Time\TimeProviders\NtpClient
시간 공급자\Windows NTP 클라이언트 사용 W32Time\TimeProviders\NtpClient
시간 공급자\Windows NTP 서버 사용 W32Time\TimeProviders\NtpServer

1 하위 키: HKLM\SOFTWARE\Policies\Microsoft
2 하위 키: HKLM\SYSTEM\CurrentControlSet\Services\W32Time

참고 항목

그룹 정책 설정을 제거하면 Windows는 레지스트리의 정책 영역에서 해당 항목을 제거합니다.

W32Time에 대한 GPO 기본 설정

아래에서 전역 구성 설정 기본값을 사용할 수 있습니다.

그룹 정책 설정 기본값
AnnounceFlags 10
EventLogFlags 2
FrequencyCorrectRate 4
HoldPeriod 5
LargePhaseOffset 50,000,000
LocalClockDispersion 10
MaxAllowedPhaseOffset 300
MaxNegPhaseCorrection 172,800(48시간)
MaxPollInterval 10
MaxPosPhaseCorrection 172,800(48시간)
MinPollInterval 6
PhaseCorrectRate 7
PollAdjustFactor 5
SpikeWatchPeriod 900
UpdateInterval 100(1초)

NTP 클라이언트에 대한 GPO 설정

다음은 Computer Configuration\관리istrative Templates\System\Windows Time Service\Time Providers\Configure Windows NTP Client에 포함된 기본 Windows NTP 클라이언트 설정입니다.

그룹 정책 설정 기본값
NtpServer time.windows.com, 0x9
Type NT5DS - 기본 조인된 컴퓨터에 사용됩니다.
NTP - 비-할기본 조인된 컴퓨터에 사용됨
CrossSiteSyncFlags 2
ResolvePeerBackoffMinutes 15
ResolvePeerBackoffMaxTimes 7
SpecialPollInterval 1024
EventLogFlags 0

참고 항목

그룹 정책을 사용하여 Windows NTP 클라이언트 구성 정책의 일부로 NtpServer 값을 설정하고 do기본 멤버에 적용하는 경우 Windows 시간 서비스는 NtpServer 레지스트리 값을 사용하지 않습니다. NTP 구성을 보려면 명령 프롬프트를 열고 실행 w32tm /query /configuration합니다.

Windows 시간 레지스트리 참조

Windows 시간 서비스는 다음 레지스트리 경로 아래에 정보를 저장합니다.

HKLM\SYSTEM\CurrentControlSet\Services\W32Time
HKLM\SYSTEM\CurrentControlSet\Services\W32Time\Config
HKLM\SYSTEM\CurrentControlSet\Services\W32Time\Parameters
HKLM\SYSTEM\CurrentControlSet\Services\W32Time\TimeProviders\NtpClient
HKLM\SYSTEM\CurrentControlSet\Services\W32Time\TimeProviders\NtpServer

Warning

이 정보는 문제 해결 및 유효성 검사에 사용할 참조로 제공됩니다. Windows 레지스트리 키는 W32Time에서 중요한 정보를 저장하는 데 사용됩니다. 이러한 값은 변경하지 마세요. 레지스트리 수정 내용은 적용되기 전에 레지스트리 편집기나 Windows에서 유효성이 검사되지 않습니다. 레지스트리에 잘못된 값이 포함되어 있으면 Windows에서 복구할 수 없는 오류가 발생할 수 있습니다.

레지스트리의 일부 매개 변수는 클록 틱 수로 측정되며, 일부는 초 단위로 측정됩니다. 시간을 클록 틱 수에서 초로 변환하려면 다음 변환 요소를 사용합니다.

  • Windows 시스템에서는 DateTime.Ticks 속성에서 설명한 대로 1분 = 60초,
  • 1초 = 1,000밀리초,
  • DateTime.Ticks 속성에 설명된 대로 Windows 시스템에서 1ms = 10,000 클록 틱입니다.

예를 들어 5분은 5× 60 × 1000× 10000 = 3,000,000,000 클록 틱이 됩니다.

다음 섹션에서 "모든 버전"은 향후 반복을 포함하여 Windows 7 및 이후 반복을 포함한 Windows Server 2008을 참조합니다.

레지스트리 항목 버전 설명
AnnounceFlags 모든 버전 이 컴퓨터가 신뢰할 수 있는 시간 서버로 표시되는지 여부를 제어합니다. 컴퓨터는 시간 서버로도 표시되지 않는 한 신뢰할 수 있는 컴퓨터로 표시되지 않습니다.

  • 0x00. 시간 서버 아님
  • 0x01. 항상 시간 서버
  • 0x02. 자동 시간 서버
  • 0x04. 항상 신뢰할 수 있는 시간 서버
  • 0x08. 신뢰할 수 있는 자동 시간 서버

도메인 멤버의 기본값은 10입니다. 독립 실행형 클라이언트와 서버의 기본값은 10입니다.

ClockAdjustmentAuditLimit Windows Server 2016 버전 1709 이상 버전; Windows 10 버전 1709 이상 버전 대상 컴퓨터의 W32Time 서비스 이벤트 로그에 기록될 수 있는 가장 작은 로컬 클록 조정을 지정합니다. 기본값은 800(PPM: 백만 분의 일)입니다.
ClockHoldoverPeriod Windows Server 2016 버전 1709 이상 버전; Windows 10 버전 1709 이상 버전 시스템 클록이 시간 원본과 동기화하지 않고 명목상 정확도를 유지할 수 있는 최대 시간(초)을 나타냅니다. W32Time이 입력 공급자로부터 새 샘플을 가져오지 않고 이 기간이 지나면 W32Time은 시간 원본의 다시 검색을 시작합니다. 기본값: 7,800 초.
EventLogFlags 모든 버전 시간 서비스가 기록하는 이벤트를 제어합니다.

  • 0x1. 시간 이동
  • 0x2. 소스 변경

도메인 멤버의 기본값은 2입니다. 독립 실행형 클라이언트와 서버의 기본값은 2입니다.

FrequencyCorrectRate 모든 버전 클록이 수정되는 속도를 제어합니다. 이 값이 너무 작으면 시계가 불안정해지고 과도하게 수정됩니다. 이 값이 너무 크면 시계를 동기화하는 데 시간이 오래 걸립니다. 도메인 멤버의 기본값은 4입니다. 독립 실행형 클라이언트와 서버의 기본값은 4입니다.

0은 FrequencyCorrectRate 레지스트리 항목에 유효한 값이 아닙니다. Windows Server 2003, Windows Server 2003 R2, Windows Server 2008, Windows Server 2008 R2 컴퓨터에서 이 값을 0으로 설정하면 Windows 시간 서비스가 자동으로 1로 변경합니다.

HoldPeriod 모든 버전 로컬 클록을 빠르게 동기화하기 위해 스파이크 검색을 사용하지 않도록 설정되는 기간을 제어합니다. 스파이크는 시간이 몇 초 동안 해제되어 있고 좋은 시간 샘플이 일관되게 반환된 후에 수신됨을 나타내는 시간 샘플입니다. 도메인 멤버의 기본값은 5입니다. 독립 실행형 클라이언트와 서버의 기본값은 5입니다.
LargePhaseOffset 모든 버전 10-7초 동안 이 값보다 크거나 같은 시간 오프셋을 스파이크로 간주하도록 지정합니다. 대량의 트래픽과 같은 네트워크 중단으로 인해 스파이크가 발생할 수 있습니다. 스파이크는 오랜 시간 동안 지속되지 않는 한 무시됩니다. 도메인 멤버의 기본값은 50000000입니다. 독립 실행형 클라이언트와 서버의 기본값은 50000000입니다.
LocalClockDispersion 모든 버전 유일한 시간 원본과 기본 제공 CMOS 클록인 경우 가정해야 하는 분산(초)을 제어합니다. 도메인 멤버의 기본값은 10입니다. 독립 실행형 클라이언트와 서버의 기본값은 10입니다.
MaxAllowedPhaseOffset 모든 버전 W32Time이 클록 속도를 사용하여 컴퓨터 클록을 조정하려고 시도하는 최대 오프셋(초)을 지정합니다. 오프셋이 이 속도를 초과하면 W32Time에서 컴퓨터 시계를 직접 설정합니다. 도메인 멤버의 기본값은 300입니다. 독립 실행형 클라이언트와 서버의 기본값은 1입니다.
MaxClockRate 모든 버전 W32Time에서 유지 관리됩니다. 여기에는 Windows 운영 체제에서 사용하는 예약된 데이터가 포함되며, 이 설정을 변경하면 예기치 않은 결과가 발생할 수 있습니다. 도메인 멤버의 기본값은 155860입니다. 독립 실행형 클라이언트와 서버의 기본값은 155860입니다.
MaxNegPhaseCorrection 모든 버전 서비스가 수행하는 최대 음수 시간 수정을 초 단위로 지정합니다. 서비스에서 이 값보다 크게 변경해야 한다고 확인되면 이벤트를 대신 기록합니다.

0xFFFFFFFF 값은 특별한 경우입니다. 이 값은 서비스가 항상 시간을 수정한다는 의미입니다.

do기본 멤버의 기본값은 0xFFFFFFFF(16진수)입니다. do기본 컨트롤러의 기본값은 172,800(48시간)입니다. 독립 실행형 클라이언트와 서버의 기본값은 54,000(15시간)입니다.

MaxPollInterval 모든 버전 시스템 폴링 간격에 허용되는 가장 큰 간격(로그 기준 2초)을 지정합니다. 시스템은 예약된 간격에 따라 폴링해야 하며, 공급자는 요청 시 샘플 생성을 거부할 수 있습니다. 도메인 컨트롤러의 기본값은 10입니다. 도메인 멤버의 기본값은 15입니다. 독립 실행형 클라이언트와 서버의 기본값은 15입니다.
MaxPosPhaseCorrection 모든 버전 서비스가 수행하는 최대 양수 시간 수정(초)을 지정합니다. 서비스에서 이 값보다 크게 변경해야 한다고 확인되면 이벤트를 대신 기록합니다.

0xFFFFFFFF 값은 특별한 경우입니다. 이 값은 서비스가 항상 시간을 수정한다는 의미입니다.

do기본 멤버의 기본값은 0xFFFFFFFF(16진수)입니다. do기본 컨트롤러의 기본값은 172,800(48시간)입니다. 독립 실행형 클라이언트와 서버의 기본값은 54,000(15시간)입니다.

MinClockRate 모든 버전 W32Time에서 유지 관리됩니다. 여기에는 Windows 운영 체제에서 사용하는 예약된 데이터가 포함되며, 이 설정을 변경하면 예기치 않은 결과가 발생할 수 있습니다. 도메인 멤버의 기본값은 155860입니다. 독립 실행형 클라이언트와 서버의 기본값은 155860입니다.
MinPollInterval 모든 버전 시스템 폴링 간격에 허용되는 최소 간격(로그 밑 2초)을 지정합니다. 시스템은 이보다 더 자주 샘플을 요청하지 않으며 공급자는 예약된 간격 이외의 시간에 샘플을 생성할 수 있습니다. 도메인 컨트롤러의 기본값은 6입니다. 도메인 멤버의 기본값은 10입니다. 독립 실행형 클라이언트와 서버의 기본값은 10입니다.
PhaseCorrectRate 모든 버전 단계 오류가 수정되는 속도를 제어합니다. 작은 값을 지정하면 단계 오류가 빠르게 수정되지만 시계가 불안정해질 수 있습니다. 값이 너무 크면 단계 오류를 수정하는 데 시간이 더 오래 걸립니다.

도메인 멤버의 기본값은 1입니다. 독립 실행형 클라이언트와 서버의 기본값은 7입니다.

0은 PhaseCorrectRate 레지스트리 항목에 유효한 값이 아닙니다. Windows Server 2003, Windows Server 2003 R2, Windows Server 2008, Windows Server 2008 R2 컴퓨터에서 이 값을 0으로 설정하면 Windows 시간 서비스가 자동으로 1로 변경합니다.

PollAdjustFactor 모든 버전 시스템의 폴링 간격을 늘리거나 줄이는 결정을 제어합니다. 값이 클수록 폴링 간격을 줄이는 오류의 양이 줄어듭니다. 도메인 멤버의 기본값은 5입니다. 독립 실행형 클라이언트와 서버의 기본값은 5입니다.
SpikeWatchPeriod 모든 버전 의심스러운 오프셋이 올바른 것으로 허용되기 전에 유지해야 하는 시간(초)을 지정합니다. 도메인 멤버의 기본값은 900입니다. 독립 실행형 클라이언트와 워크스테이션의 기본값은 900입니다.
TimeJumpAuditOffset 모든 버전 시간 이동 감사 임계값을 초 단위로 나타내는 부호 없는 정수입니다. 시간 서비스에서 시계를 직접 설정하여 로컬 시계를 조정하고, 시간 수정이 이 값보다 큰 경우 시간 서비스에서 감사 이벤트를 기록합니다.
UpdateInterval 모든 버전 단계 수정 조정 사이의 클록 틱 수를 지정합니다. 도메인 컨트롤러의 기본값은 100입니다. 도메인 멤버의 기본값은 30,000입니다. 독립 실행형 클라이언트와 서버의 기본값은 360,000입니다.

0은 UpdateInterval 레지스트리 항목에 유효한 값이 아닙니다. Windows Server 2003, Windows Server 2003 R2, Windows Server 2008, Windows Server 2008 R2를 실행하는 컴퓨터에서 이 값을 0으로 설정하면 Windows 시간 서비스가 자동으로 1로 변경합니다.

UtilizeSslTimeData Windows 10 빌드 1511 이후의 Windows 버전 값이 1이면 W32Time가 여러 SSL 타임스탬프를 사용하여 매우 부정확한 클록을 시드한다는 것을 나타냅니다. 참고 UtilizeSslTimeData는 보안 시간 시드ing을 참조하는 레지스트리 값입니다.

향상된 로깅

다음 레지스트리 항목은 W32Time 기본 구성의 일부가 아니지만 레지스트리에 추가하여 향상된 로깅 기능을 얻을 수 있습니다. 시스템 이벤트 로그에 기록된 정보는 그룹 정책 개체 편집기에서 EventLogFlags 설정 값을 변경하여 수정할 수 있습니다. 기본적으로 Windows 시간 서비스는 새 시간 원본으로 전환할 때마다 이벤트를 기록합니다.

향상된 W32Time 로깅을 사용하도록 설정하려면 다음 레지스트리 항목을 HKLM\SYSTEM\CurrentControlSet\Services\W32Time\Config에 추가합니다.

입력 버전 설명
FileLogEntries 모든 버전 Windows 시간 로그 파일에 생성되는 항목 수를 제어합니다. 기본값은 none이며 Windows 시간 활동을 기록하지 않습니다. 유효한 값은 0 ~ 300입니다. 이 값은 Windows 시간에서 일반적으로 만든 이벤트 로그 항목에 영향을 주지 않습니다.
FileLogName 모든 버전 Windows 시간 로그의 위치 및 파일 이름을 제어합니다. 기본값은 비어 있으며 FileLogEntries가 변경되지 않는 한 변경하면 안 됩니다. 유효한 값은 Windows 시간에서 로그 파일을 만드는 데 사용할 전체 경로 및 파일 이름입니다. 이 값은 Windows 시간에서 일반적으로 만든 이벤트 로그 항목에 영향을 주지 않습니다.
FileLogSize 모든 버전 Windows 시간 로그 파일의 순환 로깅 동작을 제어합니다. FileLogEntriesFileLogName이 정의되는 경우 가장 오래된 로그 항목을 새 항목으로 덮어쓰기 전에 로그 파일에 도달할 수 있도록 하는 크기(바이트)입니다. 이 설정에는 1000000 이상 값을 사용합니다. 이 값은 Windows 시간에서 일반적으로 만든 이벤트 로그 항목에 영향을 주지 않습니다.