Windows Server 2022 ได้รับอัปเดตสะสมใหญ่หนึ่งตัวทุกเดือน และอัปเดตเล็ก ๆ สำหรับ .NET และ Defender บนอิมเมจของเรา Windows จะดาวน์โหลดให้และรอจนคุณตัดสินใจติดตั้ง การรีสตาร์ตจึงไม่เคยเกิดขึ้นแบบไม่ทันตั้งตัว อีกด้านหนึ่งคือ ถ้าคุณไม่ติดตั้ง ก็ไม่มีใครติดตั้งให้ คู่มือนี้แสดงวิธีติดตั้งสามแบบ การรีสตาร์ตเป็นอย่างไร และวิธีเอาพื้นที่ดิสก์ที่อัปเดตทิ้งไว้คืนมา เพื่อให้ได้ตัวเลข เราอัปเดต Windows Server 2022 ทีละขั้นจากบิลด์แรกเดือนมีนาคม 2022 ไปจนถึงอัปเดตเดือนตุลาคม 2026
1. ดูว่าคุณใช้บิลด์อะไร
เปิด PowerShell แล้วรัน:
$v = Get-ItemProperty 'HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion'
"{0}.{1}" -f $v.CurrentBuild, $v.UBR
ตัวเลขที่สองคือระดับอัปเดต เซิร์ฟเวอร์ของเราเริ่มที่ 20348.587 ของเดือนมีนาคม 2022 หลังอัปเดตครบเป็น 20348.5761 ซึ่งคืออัปเดตสะสมเดือนตุลาคม 2026 เซิร์ฟเวอร์ Windows ที่คุณสั่งกับเราตอนนี้ก็เริ่มจากบิลด์นี้ เราอัปเดตอิมเมจด้วยขั้นตอนเดียวกันนี้เมื่อวันที่ 25 ตุลาคม 2026 Get-HotFix แสดงสิ่งที่ติดตั้งแล้ว:
Get-HotFix | Sort-Object InstalledOn | Select-Object -Last 5
2. ติดตั้งอัปเดต
เลือกวิธีที่สะดวก ทั้งสามวิธีใช้ Windows Update ตัวเดียวกัน
Settings Start → Settings → Update & Security → Windows Update → Check for updates แล้ว Install now ถ้าหน้าบอกว่าการตั้งค่าบางอย่างจัดการโดยองค์กรของคุณ นั่นคือนโยบาย «ดาวน์โหลดอย่างเดียว» ของเรา ไม่ได้ห้ามคุณติดตั้ง
sconfig พิมพ์ sconfig ใน PowerShell ตัวเลือก 6) Install updates จะถามว่าจะค้นหาอะไร ให้เลือก All quality updates แล้วติดตั้ง ตัวเลือก 5) Update setting บนอิมเมจของเราแสดง Download only และยังเปลี่ยนเป็น Automatic ได้ ซึ่งจะติดตั้งและรีสตาร์ตตามตารางเวลาของมันเอง
เมนูเดียวกันยังมี Feature updates อย่าแตะ เว้นแต่คุณมีไลเซนส์ Windows Server รุ่นใหม่กว่า sconfig เตือนว่าอัปเดตฟีเจอร์ต้องใช้คีย์ผลิตภัณฑ์ใหม่และจะปิดใช้งานรุ่นที่คุณมี
PowerShell สำหรับสคริปต์หรืองานตามกำหนดเวลา API ของ Windows Update เองทำได้ทุกอย่างโดยไม่ต้องลงโมดูลเพิ่ม นี่คือสิ่งที่เรารัน:
$session = New-Object -ComObject Microsoft.Update.Session
$result = $session.CreateUpdateSearcher().Search("IsInstalled=0 and IsHidden=0 and Type='Software'")
$updates = New-Object -ComObject Microsoft.Update.UpdateColl
foreach ($u in $result.Updates) { $u.AcceptEula(); [void]$updates.Add($u); $u.Title }
if ($updates.Count -gt 0) {
$d = $session.CreateUpdateDownloader(); $d.Updates = $updates; [void]$d.Download()
$i = $session.CreateUpdateInstaller(); $i.Updates = $updates
$r = $i.Install(); "Result: $($r.ResultCode) Restart needed: $($r.RebootRequired)"
} else { "Nothing to install" }
รันใน PowerShell แบบผู้ดูแลระบบ รหัสผลลัพธ์ 2 หมายถึงสำเร็จ และบนเซิร์ฟเวอร์ที่อัปเดตครบแล้วจะแสดงแค่ Nothing to install
3. รีสตาร์ตแล้วรอให้เสร็จ
หลังอัปเดตสะสม Windows ต้องรีสตาร์ต บางครั้งสองรอบ นี่คือสิ่งที่เราเห็น:
| รอบ | สิ่งที่ติดตั้ง | เวลาติดตั้ง | การรีสตาร์ต |
|---|---|---|---|
| 1 | อัปเดตสะสมเดือนกันยายน 2026, อัปเดต .NET, Defender, เครื่องมือลบซอฟต์แวร์ที่เป็นอันตราย | 22 นาที | 2 นาที 51 วินาที จากนั้นราวหนึ่งนาที Windows รีสตาร์ตเองอีกครั้ง |
| 2 | อัปเดตสะสมเดือนตุลาคม 2026, Defender | 17 นาที | ราว 2 นาที รวมการรีสตาร์ตอัตโนมัติครั้งที่สอง |
| 3 | แพลตฟอร์มและคำจำกัดความของ Defender | 33 วินาที | ไม่มี |
| 4 | ไม่เหลืออะไร | — | — |
สองเรื่องที่ควรรู้:
- การรีสตาร์ตครั้งที่สองเป็นเรื่องปกติ ราวหนึ่งนาทีหลังเราเชื่อมต่อกลับ Windows รีสตาร์ตเองอีกครั้งเพื่อให้อัปเดตเสร็จ ถ้าเซสชัน Remote Desktop หลุดทันทีหลังล็อกอิน น่าจะเป็นเพราะเหตุนี้ รอหนึ่งนาทีแล้วเชื่อมต่อใหม่
- อย่าบังคับปิดตอนที่ขึ้นว่า «Working on updates» รีสตาร์ตจากเมนู Start หรือด้วย
Restart-Computerแล้วรอ การบังคับปิดตอนกำลังเปลี่ยนไฟล์ระบบคือสาเหตุทั่วไปที่ทำให้ Windows บูตไม่ขึ้นหลังอัปเดต
จากนั้นตรวจอีกครั้ง เซิร์ฟเวอร์ที่ค้างมาหลายเดือนจะได้อัปเดตเป็นชั้น ๆ ของเราได้รับอัปเดตเดือนตุลาคมหลังติดตั้งของเดือนกันยายนแล้วเท่านั้น ทำซ้ำจนการค้นหาไม่พบอะไรอีก
4. เอาพื้นที่ดิสก์คืน
อัปเดตทำให้ดิสก์ใหญ่ขึ้น Windows เก็บเวอร์ชันเก่าของไฟล์ระบบทุกไฟล์ที่ถูกแทนที่ เพื่อให้คุณถอนอัปเดตได้ภายหลัง บนเซิร์ฟเวอร์ 50 GB ของเรา:
| ขั้น | พื้นที่ที่ใช้ |
|---|---|
| อิมเมจเดิมปี 2022 | 12.6 GB |
| ระหว่างอัปเดตสะสมครั้งแรก | 20.8 GB |
| หลังอัปเดตสะสมทั้งสองครั้ง | 24.5 GB |
หลัง StartComponentCleanup | 17.3 GB |
หลัง /ResetBase | 15.7 GB |
| หลังล้างแคชดาวน์โหลดอัปเดต | 14.6 GB |
ล้างจาก PowerShell แบบผู้ดูแลระบบ:
Dism.exe /Online /Cleanup-Image /AnalyzeComponentStore
Dism.exe /Online /Cleanup-Image /StartComponentCleanup
คำสั่งแรกบอกว่าเอาคืนได้เท่าไร คำสั่งที่สองลบคอมโพเนนต์เวอร์ชันเก่าที่ถูกอัปเดตใหม่แทนที่ไปแล้ว บนเซิร์ฟเวอร์ของเรามันทำงาน 14 นาทีและคืนพื้นที่ 6.9 GB เมื่อเพิ่ม /ResetBase ก็คืนได้อีก 1.6 GB ในราวหนึ่งนาทีครึ่ง แต่หลังจากนั้นจะถอนอัปเดตที่ติดตั้งแล้วไม่ได้อีก บนเซิร์ฟเวอร์ที่ใช้งานจริงเราจะข้ามขั้นนี้ และเก็บไว้ใช้ตอนที่ขาดพื้นที่จริง ๆ
ไฟล์ที่ Windows Update ดาวน์โหลดไว้ก็ลบได้เช่นกัน ของเรากินพื้นที่ 1.1 GB:
Stop-Service wuauserv
Remove-Item C:\Windows\SoftwareDistribution\Download\* -Recurse -Force
Start-Service wuauserv
อยากรู้ว่านอกจากอัปเดตแล้วมีอะไรกินดิสก์อีก ดู บทความเรื่องพื้นที่ดิสก์ ซึ่งมีตัวเลขของทั้ง Windows และ Linux
5. ทำให้เป็นนิสัย
Microsoft ออกอัปเดตความปลอดภัยทุกวันอังคารที่สองของเดือน เดือนละครั้งให้รันตัวเลือก 6 ใน sconfig หรือสคริปต์ด้านบน รีสตาร์ต แล้วตรวจอีกครั้ง ก่อนอัปเดตใหญ่ ให้คัดลอกสิ่งสำคัญออกไปไว้นอกเซิร์ฟเวอร์ และถ้ายังไม่ได้ทำ ให้ ป้องกัน RDP อัปเดตปิดช่องโหว่ของ Windows แต่หยุดคนเดารหัสผ่านที่อ่อนแอไม่ได้
เลือกแพ็กเกจไหน
อัปเดตต้องการพื้นที่ เราทดสอบบน Windows-Small (4 vCPU, 4 GB, 50 GB, $11/เดือน) และหลังอัปเดตสะสมสองครั้งยังเหลือพื้นที่ว่างกว่า 25 GB ถ้าจะติดตั้งโปรแกรมใหญ่ Windows-Medium ให้ 60 GB ในราคา $19/เดือน แพ็กเกจ Windows ทั้งสี่อยู่ในหน้า Windows VPS ชำระเงินด้วย USDT, USDC หรือ ETH บนเครือข่าย Base, Ethereum หรือ Polygon
ความคิดเห็น
ยังไม่มีความคิดเห็น เป็นคนแรกสิ