
به اشتراک بگذارید

به اشتراک بگذارید
صبح یکشنبه است و آپدیت ویندوز سرور ساعت سه بامداد سرور را ریاستارت کرده است. پیشفرض Windows Server چنین کاری نمیکند و فقط دانلود میکند و خبر میدهد؛ مقصر گزینه ۴ بیبرنامه یا حالت Automatic در sconfig است. چاره: روی نسخه دسکتاپ گزینه ۷، روی Server Core گزینه ۴ با پنجره مشخص.
| تنظیم | پیشفرض | پیشنهاد برای سرور تولیدی | کجا تنظیم میشود |
|---|---|---|---|
| سیاست Configure Automatic Updates | گزینه ۳: دانلود و اعلان نصب | دسکتاپ: گزینه ۷؛ Server Core: گزینه ۴ | شاخه Windows Update در Group Policy |
| زمان نصب در گزینه ۴ | اگر خالی بماند، هر روز ساعت ۳ | روز و ساعت پنجره نگهداری | همان سیاست |
| حالت آپدیت در sconfig | حالت Download only | حالت Download only و نصب با گزینه ۶ | گزینه ۵ منوی sconfig |
| ساعتهای فعال (Active Hours) | برای سرور مستند نشده | ساعت کاری، حداکثر ۱۸ ساعت | سیاست Turn off auto-restart for updates during active hours |
💡 توصیه مایکروسافت برای سرورها
گزینه ۷ دانلود میکند و برای نصب و ریاستارت جداگانه خبر میدهد؛ مایکروسافت آن را برای سرورها پیشنهاد کرده است.
✅ روی Server Core، Group Policy فقط گزینه ۴ را میپذیرد.
✅ فرمانها را در PowerShell با Run as administrator اجرا کنید.
ماه پایین ساختگی است و فقط سازوکار را نشان میدهد؛ تاریخهایش را با پنجره نگهداری خودتان عوض کنید. فرضش سروری است که کارهای کانفیگ اولیه سرور مجازی ویندوز را گذرانده و حالا باید هر ماه وصله بگیرد بیآنکه وسط ساعت کاری بخوابد.
📌 تقویم یک ماه فرضی
◀️ ساعت صفر؛ چرا ویندوز سرور بدون اجازه ریاستارت میشود
◀️ روز انتشار آپدیت؛ Active Hours و Group Policy را تنظیم کنید
◀️ پنجره نصب را خودتان انتخاب کنید؛ زمانبندی و PowerShell
◀️ صبح روز بعد؛ آپدیت ناموفق را از کجا پیدا کنیم؟

روی Windows Server سیاست Configure Automatic Updates بهطور پیشفرض در رجیستری گزینه ۳ است و خودش چیزی نصب نمیکند. همان صفحه مایکروسافت اما میگوید سیاست Not Configured یعنی دانلود و نصب خودکار. پس اول ببینید آپدیت ویندوز سرور شما با چه قاعدهای کار میکند؛ اگر کلید نبود، سیاستی تنظیم نشده است:
Get-ItemProperty -Path 'HKLM:\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\AU'
ساعت سه بامداد دو منشأ مستند دارد. طبق صفحه تنظیمات Group Policy برای آپدیت خودکار، گزینه ۴ بدون زمان نصب هر روز ساعت ۳ نصب و در صورت نیاز ریاستارت میکند. حالت Automatic در sconfig هم هر روز ساعت ۳ نصب میکند. گزینه ۴ وقتی نصب را به نگهداری خودکار بسپارد و تا دو روز انجام نشود، فوراً نصب میکند.
تکنسین سرویس دورهای آسانسوری که ساعتش در برنامه ساختمان نیست، هر وقت رسید آسانسور را میخواباند؛ گزینه ۴ بیبرنامه هم سرور را.
💡 قرارداد این تقویم
«با پیشفرض» یعنی سرور دستنخورده با گزینه ۳؛ «با تنظیم شما» یعنی گزینه ۷ یا گزینه ۴ با پنجره بامداد پنجشنبه.
ماه فرضی یک سرور تولیدی

روی سروری که عضو دامنه نیست، کنترل آپدیت ویندوز سرور از ویرایشگر محلی Group Policy شروع میشود. آن را روی نسخه Desktop Experience با gpedit.msc باز کنید. چیدمان زیرشاخهها به نسخه قالب ADMX بستگی دارد:
Computer Configuration > Administrative Templates > Windows Components > Windows Update
سیاست Configure Automatic Updates در قالبهای جدید زیر Manage end user experience است. گزینه ۳ دانلود میکند و برای نصب خبر میدهد و ۴ نصب را زمانبندی میکند. گزینه ۷ نصب و ریاستارت را جدا به شما میسپارد و راهنمای ریاستارت مایکروسافت همین را برای سرورها پیشنهاد کرده است، جز Server Core که فقط گزینه ۴ را میپذیرد.
سیاست را Enabled کنید و گزینه را از فهرست کشویی بردارید. برای گزینه ۴ روز و ساعت نصب (Scheduled install time) را پر کنید؛ خالی یعنی هر روز ساعت ۳. بعد این فرمان را بزنید و Get-ItemProperty را تکرار کنید تا AUOptions را ببینید:
gpupdate /force
سیاست Turn off auto-restart for updates during active hours ریاستارت خودکار را در یک بازه ممنوع میکند. راهنمای ریاستارت سقف را برای Windows Server 2016 دوازده و برای نسخههای بعد ۱۸ ساعت میداند. این راهنما برای ویندوز ۱۰ و ۱۱ نوشته شده است. پس اول در gpedit ببینید این سیاست روی سرورتان هست. ساعت ۳ بامداد معمولاً بیرون از بازه میافتد.
سیاست No auto-restart with logged on users فقط با گزینه ۴ اثر دارد. مایکروسافت نوشته که این سیاست دقیقاً طبق توضیحش کار نمیکند و چون کاربران خارج نمیشوند، ممکن است وصلهها هرگز ریاستارت نگیرند.
بدون Group Policy مقدار AUOptions زیر کلید HKLM\Software\Policies\Microsoft\Windows\WindowsUpdate\AU همین گزینهها را میگیرد؛ در ScheduledInstallDay عدد 1 یکشنبه و 7 شنبه است.
در گزینه ۴ آپدیت ویندوز سرور سر ساعتی نصب میشود که در سیاست نوشتهاید. در گزینه ۷ و حالت Download only تا خودتان شروع نکنید نصبی در کار نیست.
طبق مستندات SConfig، گزینه ۵ سه حالت دارد. حالت Automatic هر روز ساعت ۳ نصب میکند. حالت پیشفرض Download only است و Manual خودکار بررسی نمیکند. ساعت ۳ با منطقه زمانی خود سرور حساب میشود، که شاید با منطقه شما فرق کند.
گزینه ۶ را بزنید. دسته All quality updates را انتخاب کنید و با A همه را نصب کنید. Server Core نسخه 2022 به بعد منو را خودش باز میکند. در 2019 فرمان SConfig.cmd را بزنید. روی Desktop Experience در PowerShell بنویسید SConfig.
ماژول PSWindowsUpdate در PowerShell Gallery مال مایکروسافت نیست؛ نویسندهاش Michal Gajda است و نسخه 2.2.1.5 ژوئیه 2024 منتشر شده. نصبش ممکن است برای NuGet و مخزن PSGallery تأیید بخواهد. این فرمانها چیزی نصب نمیکنند. سوئیچهای ریاستارت Install-WindowsUpdate در صفحه گالری نیست، پس نصب را با sconfig انجام دهید.
Install-Module -Name PSWindowsUpdate
Get-WindowsUpdate
Get-WURebootStatus
هاتپچ وصله را در حافظه پروسهها اعمال میکند و ریاستارت نمیخواهد. بیرون از Azure سرور باید Windows Server 2025 Standard یا Datacenter با بیلد 26100.1742 به بالا باشد و با اشتراک Azure به Azure Arc وصل شود. ماشین هم UEFI با Secure Boot (روی Hyper-V نسل ۲) و VBS/VSM در حال اجرا میخواهد. صفحه فعالسازی هاتپچ با Azure Arc میگوید بدون VSM فعالسازی شکست میخورد؛ خروجی 2 در این بررسی یعنی VSM اجرا میشود:
Get-CimInstance -Namespace 'root/Microsoft/Windows/DeviceGuard' -ClassName 'win32_deviceGuard' |
Select-Object -ExpandProperty 'VirtualizationBasedSecurityStatus'
مستندات هاتپچ میگوید هر سه ماه یک بهروزرسانی پایه با ریاستارت میآید، پس ریاستارت کم میشود، حذف نمیشود.

صبح بعد، پیش از اولین چای، دو سؤال دارید: چه کسی ریاستارت کرد و کدام وصله نصب نشد. ردپای هر آپدیت ویندوز سرور در دو لاگ System و WindowsUpdateClient میماند که با eventvwr.msc از فهرست دستورات Run ویندوز باز میشوند.
ریاستارتی که فرایند یا کاربری درخواست کرده باشد در لاگ System با منبع User32 و شناسه 1074 ثبت میشود:
Get-WinEvent -FilterHashtable @{ LogName='System'; Id=1074 } -MaxEvents 5 |
Format-List TimeCreated, Message
🔸 خواندن متن رویداد 1074
متن رویداد فرایند، کاربر، Reason Code و Shutdown Type را میگوید. در نمونه مستندات مایکروسافت فرایند wmiprvse.exe است، پس درخواست از راه WMI آمده. اگر 1074 نیست ولی رویداد 6008 (خاموشی غیرمنتظره) هست، ریاستارت درخواستی نبوده است؛ سراغ سختافزار یا درایورها بروید.
این لاگ زیر Applications and Services Logs > Microsoft > Windows > WindowsUpdateClient > Operational است. مرجع قدیمی مایکروسافت شناسه 20 را شکست نصب میداند. خطای «پیدا نشدن رویداد» در فرمان اول یعنی شکستی ثبت نشده. فرمان سوم WindowsUpdate.log را روی دسکتاپ میسازد:
Get-WinEvent -FilterHashtable @{ LogName='Microsoft-Windows-WindowsUpdateClient/Operational'; Id=20 } -MaxEvents 10
Get-HotFix | Sort-Object InstalledOn
Get-WindowsUpdateLog
برای وصلهای که مدام شکست میخورد، مایکروسافت روی ویندوز سرور 2016 به بعد این تعمیر را پیشنهاد میکند؛ DISM بدون دسترسی به Windows Update گزینه /Source میخواهد:
DISM.exe /Online /Cleanup-image /Restorehealth
sfc /scannow
⚠️ حالت دستی نباید به «هیچوقت» برسد
با گزینه ۳، ۷ یا Manual هیچ وصلهای بدون شما نصب نمیشود. پنجرهای که دو سه ماه عقب بیفتد، سرور را همان مدت آسیبپذیر نگه میدارد.
اگر پنجره نگهداری را روی کاغذ دارید، این هفت پرسش نشان میدهد ویندوز کجا ممکن است از آن بیرون بزند.
نه. سرور را از وصلههای امنیتی محروم میکند. گزینه ۷ یا ۴ با پنجره همان کنترل را بیاین هزینه میدهد.
بله؛ از Windows Server 2016 به بعد. روی Server Core اما Group Policy فقط گزینه ۴ را میپذیرد.
ساعت ۳ ساعت نصب گزینه ۴ بیبرنامه و حالت Automatic است و معمولاً بیرون از بازه ساعتهای فعال میافتد.
مایکروسافت از دانلود و نصب خودکار حرف میزند. سیاست را Enabled کنید تا رفتار سرور حدسی نباشد.
فقط روی ویندوز سرور 2025 متصل به Azure Arc که VBS آن روی UEFI با Secure Boot اجرا شود.
نه. ابزارهای رسمی مایکروسافت برای این کار sconfig و Group Policy هستند.
یک یا چند شب بعد از سهشنبه دوم ماه، در کمترافیکترین ساعت سرویس.
جمعبندی؛ آپدیت ویندوز سرور با تقویمی که خودتان نوشتهاید پیشفرض Windows Server، گزینه ۳، فقط دانلود میکند و خبر میدهد. نصب و ریاستارت ساعت سه بامداد از گزینه ۴ بیبرنامه یا حالت Automatic در sconfig میآید. روی نسخه دسکتاپ گزینه ۷ را بگذارید تا نصب و ریاستارت با شما باشد. روی Server Core گزینه ۴ را با روز و ساعت پنجره و منطقه زمانی سرور هماهنگ کنید. به Active Hours و سیاست No auto-restart تکیه نکنید. صبح بعد رویداد 1074 و لاگ WindowsUpdateClient میگویند چه کسی ریاستارت کرد و چه چیزی جا ماند.
🚀 سروری که بعد از ریاستارت هم در دسترس است
زمانبندی آپدیت روی سروری معنا دارد که دسترسی ریموت و فایروالش از روز اول درست تنظیم شده باشد.
پنجره نگهداری سرور شما چه روز و ساعتی است، و آخرین ریاستارت بیرون از آن، در رویداد 1074 به نام کدام فرایند ثبت شد؟
منابع