ซิงค์เวลา Windows โดยอัตโนมัติบ่อยกว่าค่าเริ่มต้น


21

ฉันมีพีซีสองสามเครื่องที่เสียเวลาและฉันต้องการให้ Windows ทำการซิงค์บ่อยๆกับเวลาบนอินเทอร์เน็ต ฉันคิดว่าค่าเริ่มต้นของ Windows จะพยายามอัปเดตวันละครั้งเท่านั้นและไม่ได้อัปเดตหากเซิร์ฟเวอร์เวลาไม่พร้อมใช้งาน (ซึ่งดูเหมือนว่าจะเกิดขึ้นบ่อยครั้ง) หมายถึงพีซีสามารถจบลงได้ 20 หรือ 30 วินาที

ฉันต้องการสร้างงานที่กำหนดเวลาไว้ให้ทำเช่นนี้บอกทุก ๆ 5 นาทีและหากเซิร์ฟเวอร์เวลาเริ่มต้นไม่สามารถใช้งานได้ mul


2
จะเป็นการง่ายกว่าไหมในการระบุสาเหตุที่คอมพิวเตอร์ที่เป็นปัญหาไม่สามารถเชื่อมต่อกับเซิร์ฟเวอร์เวลาได้
Ramhound

2
คุณดู W32tm หรือไม่ technet.microsoft.com/en-us/library/cc773263(v=ws.10).aspx
Jane T

เซิร์ฟเวอร์เริ่มต้นก็ล้มเหลวเช่นกัน ลองเปลี่ยนpool.ntp.orgเป็นคำแนะนำในคำตอบ
jan-glx

คำตอบ:


14

คนฉันได้ทำงานนี้ด้วย windows สร้างขึ้นใน w32tm และงานที่กำหนด (ดูด้านล่าง)

ขั้นแรกคือการกำหนดค่า w32tm เพื่อใช้เซิร์ฟเวอร์เวลาที่แตกต่างกันมากมาย (และเพื่อเข้าสู่ระบบเพื่อให้เราสามารถเห็นสิ่งที่เกิดขึ้น) ขั้นตอนที่สองคือกำหนดเวลา w32tm ในตัวกำหนดตารางเวลางาน ฉันชอบโซลูชันนี้เนื่องจากไม่ต้องการเครื่องมือส่วนที่ 3 การตั้งค่าเซิร์ฟเวอร์เวลาต่าง ๆ เป็นสิ่งสำคัญจริง ๆ เพราะฉันพบว่าบ่อยครั้งที่พวกเขาไม่ตอบสนอง

กำหนดค่า w32tm

เปิดพรอมต์คำสั่ง (เรียกใช้ต่อไปนี้ในฐานะผู้ดูแลระบบ)

w32tm /config /manualpeerlist:"time.nist.gov time.windows.com time-nw.nist.gov time-a.nist.gov time-b.nist.gov time-a.timefreq.bldrdoc.gov time-b.timefreq.bldrdoc.gov time-c.timefreq.bldrdoc.gov utcnist.colorado.edu" /syncfromflags:manual /update

w32tm /query /configuration

ตรวจสอบดูว่ารายการเซิร์ฟเวอร์ NTP ได้รับการอัปเดตอย่างถูกต้องหรือไม่นั่นคือรายชื่อเพียร์ที่คุณเพิ่งป้อน

w32tm /debug /enable /file:C:\windows\temp\w32time.log /size:10000000 /entries:300

เรียกดูไดเรกทอรีและตรวจสอบว่ามีการสร้างบันทึก

เปลี่ยนเวลาของระบบด้วยตนเอง (เพื่อไม่ให้ซิงค์ในเวลานี้) จากนั้นกลับไปที่พรอมต์คำสั่งและเรียกใช้คำสั่ง resync

w32tm /resync

ตรวจสอบเวลาของระบบได้รับการอัพเดต ** หากคุณได้รับข้อผิดพลาดเกี่ยวกับบริการเวลาไม่เริ่มต้นคุณสามารถใช้คำสั่งnet start w32timeแล้วลอง resync อื่น

หากคุณได้รับข้อผิดพลาดต่อไปนี้ให้The compter did not resync because the required time change was too big.ใช้คำสั่งนี้เพื่อซิงค์ซ้ำ:w32tm /resync /force

หากทำงานได้สำเร็จสิ่งที่คุณต้องทำคือกำหนดค่างานตามกำหนดเวลาต่อไปนี้ให้ทำงานบ่อยเท่าที่คุณต้องการ

กำหนดการ w32tm

อาร์กิวเมนต์โปรแกรม / สคริปต์

%windir%\system32\sc.exe start w32time task_started
%windir%\system32\w32tm.exe /resync

1
โดยค่าเริ่มต้น Windows Time ได้รับเวลาการปรับปรุงอย่างน้อยทุกชั่วโมง 9.1 สิ่งนี้ถูกควบคุมโดยMaxPollIntervalรายการรีจิสตรีที่กล่าวถึงที่ลิงค์นั้น 2^Valueข้อมูลของรายการนี้จะถูกแปลงเป็นวินาทีกับสูตร คุ้มค่าเช่นหาก MaxPollInterval เป็นแล้ว11 2^11=2048sec=34minutesสำหรับผู้ที่ต้องการที่จะลดความถี่ในการปรับปรุงโดยไม่ต้องใช้งานที่กำหนดเพียงแค่เปลี่ยนรายการรีจิสทรีนี้แล้วเริ่มเวลาบริการ Windows ด้วยแล้วnet stop w32time net start w32time
ฉันพูดว่า Reinstate Monica

" /entries:300" ไม่ใช่ตัวเลือกที่ถูกต้อง มันจะแสดงเฉพาะรายการที่บันทึกไว้ด้วยรหัส # 300 ซึ่งไม่ได้มีอยู่หลายรายการ แนวคิดคือการใช้พารามิเตอร์นี้เป็นรายการของหมายเลขรายการที่จะแสดงดังนั้น " /entries:0-300" จะแสดงเหตุการณ์ที่เป็นไปได้ทั้งหมดในบันทึก
MikeB

9

ไปที่แผงควบคุม> เครื่องมือการดูแลระบบ> ตัวกำหนดตารางเวลางาน

left เป็นแผนผังโฟลเดอร์ขยาย: ไลบรารีตัวกำหนดเวลางาน> Microsoft> Windows> การซิงโครไนซ์เวลา

คลิกขวาที่งาน: ซิงโครไนซ์เวลา> คุณสมบัติ

บนแท็บ: ทริกเกอร์คุณสามารถเพิ่มทริกเกอร์ที่คุณต้องการ


OP ขอช่วงเวลาการซิงค์เวลา 20-30 วินาที สิ่งนี้เป็นไปได้เฉพาะกับเคล็ดลับในการกำหนดทริกเกอร์หลายตัว
nixda

2
ความเข้าใจผิดทั่วไป แต่คุณไม่สามารถตำหนิได้จริง ๆ ! งานที่กำหนดเวลาไว้นี้จะทำให้แน่ใจว่าบริการ Windows Time กำลังทำงานอยู่ ... ดังนั้นแม้ว่าคุณจะทริกเกอร์งานบ่อยขึ้นก็ยังคงเป็นบริการที่ตัดสินใจว่าจะซิงโครไนซ์เมื่อใดซึ่งเห็นได้ชัดว่าเป็นรายสัปดาห์
Gras Double

6
ในการเปลี่ยนความถี่ของโพล: รีจิสตรีคีย์HKLM\SYSTEM\CurrentControlSet\services\W32Time\TimeProviders\NtpClientแก้ไข DWORD SpecialPollIntervalในหน่วยวินาที (เช่นสำหรับหนึ่งวัน: เลขฐานสิบหก 15180 หรือทศนิยม 86400)
Gras Double

ที่ดี! เคล็ดลับนี้ใช้ได้กับฉันบนระบบปฏิบัติการ W7 ของฉัน
razor7

2
ขอบคุณ Microsoft ที่ทำภารกิจส่งเสียงอย่างง่ายเช่นการซิงโครไนซ์เวลา SOAM DAMN COMPLICATED ทางออกที่มีเหตุผลอย่างเดียวคือการเรียกใช้ยูทิลิตี้ของบุคคลที่สามเป็นประจำ
Gras Double

4

คุณสามารถใช้TimeSyncเพื่อทำให้การซิงค์เวลาเป็นแบบอัตโนมัติ

  • คว่ำ: ไม่ได้ลงทะเบียนบริการทั้งหมดเช่น W32tm (ซึ่งคุณมีเมื่อคุณใช้ W32tm)
  • คว่ำ: พกพาและสามารถเรียกใช้ด้วย/autoตัวเลือกจากโฟลเดอร์เริ่มต้น
  • ข้อเสีย: เครื่องมือของบุคคลที่สามและไม่ใช่โซลูชันในตัว

    ป้อนคำอธิบายรูปภาพที่นี่

TimeSync รับเวลาปัจจุบันจากเซิร์ฟเวอร์ NISTและปรับนาฬิกา PC หากจำเป็น ความแม่นยำมักจะภายในไม่กี่วินาที [... ] TimeSync จะลองใช้เซิร์ฟเวอร์ทางเลือกในกรณีที่ไม่สามารถรับเวลาจากเซิร์ฟเวอร์ที่ต้องการได้

มีตัวเลือก / อัตโนมัติเพื่อเรียกใช้ TimeSync จากโฟลเดอร์ StartUp ในโหมดนี้หน้าต่าง TimeSync จะไม่แสดงหากการชดเชยเวลาต่ำกว่าที่กำหนด


แน่นอนว่าคุณยังสามารถลงทะเบียนโซลูชัน build-in W32tm ด้วยcmd.exe → W32tm /registerและตั้งค่างานที่กำหนดไว้ให้โทรcmd.exe → W32tm /resyncทุก 5 นาที


2

นอกจากนี้คุณยังสามารถลองใช้โปรแกรมนี้: http://www.worldtimeserver.com/atomic-clock/ มันช่วยให้คุณเปลี่ยนการตั้งค่าบริการเวลา windows - วิธีที่ง่าย

บังคับให้ซิงค์กับการทำงานในขณะที่หน้าต่าง "อัปเดตตอนนี้" แทบจะไม่ทำงานเลย


-1

ฉันเรียกใช้คำสั่งนี้บนซุ้มที่ฉันจัดการ

net start w32time 
w32tm /resync /force

เพื่อตั้งเวลาวันที่ด้วยตนเอง:

date 5/24/2017
time 18:37:00

การตั้งค่าเขตเวลา:

tzutil/s Pacific Standard Time

1
คำสั่งในบล็อกรหัสแรกทำอะไร บล็อคโค้ดที่สองและสามนั้นเกี่ยวข้องกับคำถามนี้หรือไม่?
สกอตต์
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.