اگر دستور w32tm /resync در Windows Server پیام The computer did not resync because no time data was available میدهد، مشکل معمولاً از خود ساعت ویندوز نیست؛ ابتدا باید منبع زمانی، DNS، حالت همگامسازی W32Time و دسترسی UDP/123 را بررسی کنید. در سرور Domain-Joined نیز نباید بدون تشخیص، همه سیستمها را به NTP عمومی اجبار کرد؛ سلسلهمراتب زمانی Active Directory مهم است.
تشخیص سریع: سرور الان از کجا زمان میگیرد؟
PowerShell یا Command Prompt را با دسترسی Administrator باز کنید و این دستورات را اجرا کنید:
w32tm /query /source
w32tm /query /status
w32tm /query /configuration
اگر Source برابر Local CMOS Clock است، یا در Status منبع معتبر دیده نمیشود، سرور عملاً NTP قابل استفادهای ندارد. در Domain Controllerها ابتدا نقش سرور در سلسلهمراتب Domain را مشخص کنید.
مرحله ۱: منبع NTP و DNS را بررسی کنید
مایکروسافت برای این خطا صراحتاً بررسی صحت مقدار NTPServer و DNS را توصیه میکند. اگر از نام دامنه برای NTP استفاده میکنید:
Resolve-DnsName time.windows.com
nslookup time.windows.com
اگر Resolve شکست میخورد، ابتدا مشکل DNS را حل کنید. راهنمای عیبیابی DNS در Windows Server مسیر Server، Forwarder و Client را قدمبهقدم پوشش میدهد.
مرحله ۲: ارتباط UDP پورت 123 را Verify کنید
NTP از UDP/123 استفاده میکند. برخلاف TCP، تست ساده با Test-NetConnection -Port 123 معیار قطعی NTP نیست. بهترین تست، مشاهده تبادل واقعی هنگام Resync است. ابتدا وضعیت Peerها را ببینید:
w32tm /query /peers
w32tm /stripchart /computer:time.windows.com /dataonly /samples:5
اگر Stripchart هیچ پاسخ معتبری نمیگیرد، Firewall محلی، Firewall شبکه، NAT یا ACL مسیر را بررسی کنید. در شبکه Domain، مقصد واقعی ممکن است Domain Controller باشد نه NTP عمومی.
مرحله ۳: سرویس Windows Time را بررسی کنید
Get-Service W32Time
sc.exe query w32time
اگر سرویس متوقف است:
Start-Service W32Time
سپس دوباره وضعیت را بررسی کنید:
w32tm /query /status
مرحله ۴: برای سرور Standalone منبع NTP را درست تنظیم کنید
اگر سرور عضو Domain نیست و باید مستقیماً از NTP مشخصی زمان بگیرد، ابتدا تنظیم فعلی را یادداشت کنید تا Rollback داشته باشید:
w32tm /query /configuration > C:w32time-before.txt
سپس Peer معتبر را تنظیم کنید. مثال:
w32tm /config /manualpeerlist:"time.windows.com,0x8" /syncfromflags:manual /update
Restart-Service W32Time
w32tm /resync /rediscover
در محیط سازمانی بهتر است بهجای انتخاب تصادفی NTP عمومی، از منبع زمانی مورد تأیید سازمان استفاده شود.
مرحله ۵: در Active Directory سلسلهمراتب زمان را خراب نکنید
در Domain، اعضا معمولاً باید از سلسلهمراتب Domain زمان بگیرند و PDC Emulator در ریشه Forest منبع خارجی معتبر داشته باشد. ابتدا این موارد را بررسی کنید:
w32tm /monitor
w32tm /query /source
w32tm /query /configuration
اگر یک Member Server را قبلاً روی Manual NTP گذاشتهاید و میخواهید به Domain hierarchy برگردد:
w32tm /config /syncfromflags:domhier /update
w32tm /resync /rediscover
اگر همزمان DHCP یا تنظیمات شبکه Clientها مشکل دارد، راهنمای رفع مشکل DHCP در Windows Server را هم بررسی کنید.
مرحله ۶: خطا را با لاگ W32Time ریشهیابی کنید
در Event Viewer مسیر Applications and Services Logs → Microsoft → Windows → Time-Service را بررسی کنید. برای وضعیت کلی نیز میتوانید از PowerShell استفاده کنید:
Get-WinEvent -LogName System -MaxEvents 200 |
Where-Object ProviderName -match 'Time-Service|W32Time' |
Select-Object TimeCreated, Id, LevelDisplayName, Message
اگر خطا همراه با کندی یا مشکل منابع سیستم است، مقاله عیبیابی Performance در Windows Server برای جدا کردن مشکل شبکه/CPU/Disk مفید است.
چه زمانی W32Time را Reset کنیم؟
Reset کامل سرویس اولین راهحل نیست. فقط وقتی Configuration آسیب دیده یا سرویس بهدرستی Register نشده و مراحل قبلی نتیجه ندادهاند، ابتدا تنظیمات را ثبت و سپس با احتیاط انجام دهید:
w32tm /query /configuration > C:w32time-before-reset.txt
net stop w32time
w32tm /unregister
w32tm /register
net start w32time
احتیاط: این کار میتواند تنظیمات سفارشی W32Time را به حالت پیشفرض برگرداند. در Domain Controller قبل از Reset، GPO و نقش PDC Emulator را بررسی کنید.
Verify نهایی بعد از رفع مشکل
w32tm /resync /rediscover
w32tm /query /source
w32tm /query /status
w32tm /query /peers
خروجی مطلوب این است که Resync بدون خطا تمام شود، Source معتبر باشد و Status زمان آخرین Sync و Stratum منطقی را نشان دهد. برای سرورهای اینترنتی که نیاز به دسترسی پایدار و شبکه قابل کنترل دارند، سرور مجازی وانسرور میتواند بستر مرتبطی برای این سناریوها باشد.
Rollback تنظیم Manual NTP
اگر تغییر Manual Peer باعث مشکل شد و سرور Domain-Joined است، به Domain hierarchy برگردید:
w32tm /config /syncfromflags:domhier /update
Restart-Service W32Time
w32tm /resync /rediscover
برای Standalone Server، مقدار قبلی را از فایل C:w32time-before.txt بازبینی و Peer قبلی را دوباره تنظیم کنید.
جمعبندی
برای خطای no time data was available مسیر درست این است: Source → Configuration → DNS → UDP/123 → Domain hierarchy → Event Log → Resync → Verify. افزایش Timeout یا Reset کورکورانه W32Time معمولاً علت اصلی را پنهان میکند. مرجع فنی اصلی این راهنما مستندات رسمی Microsoft Learn درباره خطای w32tm و Windows Time Service است.