Contact
Line : comsiam
Contact
Line : comsiam

หลังจากรู้จัก Desired State Configuration (DSC) แล้ว ขั้นตอนต่อไปคือการนำ DSC มาใช้งานจริงบน Windows Server 2025 เพื่อให้ Server รักษาค่ามาตรฐานของตัวเองโดยอัตโนมัติ
DSC ช่วยให้ Administrator ไม่ต้องคอยตรวจสอบทุกอย่างด้วยตนเอง เพราะระบบสามารถตรวจจับและแก้ไข Configuration Drift ได้อัตโนมัติ ไม่ว่าจะเป็น Service หยุดทำงาน, Feature ถูกถอนการติดตั้ง หรือการตั้งค่าที่เปลี่ยนไปจากมาตรฐานองค์กร
ตรวจสอบ PowerShell Version
$PSVersionTable
ควรใช้ PowerShell เวอร์ชันใหม่ที่รองรับ DSC อย่างสมบูรณ์
จากนั้นตรวจสอบว่า DSC พร้อมใช้งาน
Get-DscLocalConfigurationManager
หากแสดงข้อมูล Local Configuration Manager แสดงว่าพร้อมใช้งาน
LCM คือ Service ที่คอยควบคุม DSC บนเครื่อง
หน้าที่หลัก
เปรียบเสมือนผู้คุมกฎของ Server
ตัวอย่างติดตั้ง IIS อัตโนมัติ
Configuration InstallIIS {
Node localhost {
WindowsFeature IIS {
Name = "Web-Server"
Ensure = "Present"
}
}
}
Configuration นี้ระบุว่า
IIS ต้องถูกติดตั้งเสมอ
รัน
InstallIIS
ระบบจะสร้างไฟล์
InstallIIS\localhost.mof
MOF คือไฟล์ที่ DSC ใช้จริง
ใช้คำสั่ง
Start-DscConfiguration `
-Path .\InstallIIS `
-Wait `
-Verbose
DSC จะเริ่มติดตั้ง IIS ให้โดยอัตโนมัติ
หลังจาก Apply แล้ว
ตรวจสอบ
Get-WindowsFeature Web-Server
หากขึ้น
Installed
แสดงว่าทำงานสำเร็จ
Get-DscConfiguration
ใช้ดู Resource ทั้งหมดที่ DSC กำลังควบคุมอยู่
ตัวอย่าง
Test-DscConfiguration
ผลลัพธ์
True
หมายถึง Server ยังอยู่ในสถานะที่ถูกต้อง
ตัวอย่าง
Configuration DNSService {
Node localhost {
Service DNS {
Name = "DNS"
State = "Running"
}
}
}
หาก Service ถูกหยุด DSC สามารถเปิดกลับได้
ตัวอย่าง
Service DNS {
Name = "DNS"
State = "Running"
StartupType = "Automatic"
}
ช่วยป้องกันการเปลี่ยนค่าโดยไม่ตั้งใจ
ตัวอย่าง
Configuration ConfigFile {
Node localhost {
File ConfigFile {
DestinationPath = "C:\Config.txt"
Contents = "Production Server"
}
}
}
หากไฟล์หาย DSC สามารถสร้างกลับได้
ตัวอย่าง
File LogFolder {
DestinationPath = "D:\Logs"
Type = "Directory"
Ensure = "Present"
}
ช่วยรักษาโครงสร้างระบบให้เหมือนเดิม
ตัวอย่าง
Registry Example {
Key = "HKLM:\Software\Company"
ValueName = "Enabled"
ValueData = "1"
}
ใช้กำหนด Security และ Application Setting
ตัวอย่าง
WindowsFeature IIS {
Name = "Web-Server"
Ensure = "Present"
}
WindowsFeature Telnet {
Name = "Telnet-Client"
Ensure = "Present"
}
ช่วย Deploy Server ใหม่ได้เร็วมาก
ตัวอย่าง
Configuration MultiServer {
Node "SERVER01","SERVER02" {
WindowsFeature IIS {
Name = "Web-Server"
Ensure = "Present"
}
}
}
เหมาะสำหรับองค์กรที่มีหลาย Server
ตัวอย่าง
Start-DscConfiguration `
-ComputerName SERVER01,SERVER02 `
-Path .\MultiServer `
-Wait `
-Verbose
ช่วยลดเวลาการติดตั้งอย่างมหาศาล
DSC สามารถแก้ไขค่าเองได้
ตรวจสอบสถานะ
Get-DscLocalConfigurationManager
เปลี่ยน Configuration Mode
ApplyAndAutoCorrect
ระบบจะซ่อมแซม Configuration อัตโนมัติ
ตัวอย่าง
ConfigurationModeFrequencyMins = 30
หมายถึง
ตรวจสอบทุก 30 นาที
ช่วยให้ระบบรักษามาตรฐานได้ตลอดเวลา
ใช้คำสั่ง
Get-WinEvent `
-LogName Microsoft-Windows-Dsc/Operational
ช่วยวิเคราะห์ปัญหา Configuration
ตัวอย่าง
Remove-DscConfigurationDocument `
-Stage Current
ใช้เมื่อต้องการเริ่มใหม่ทั้งหมด
ตัวอย่างงานยอดนิยม
ช่วยให้ Domain Controller ทุกเครื่องมีมาตรฐานเดียวกัน
ตัวอย่าง
เหมาะกับ Web Farm และ Load Balancing
ตัวอย่าง
ลดความผิดพลาดจากการตั้งค่าด้วยมือ
ใช้ควบคุม
ช่วยให้ผ่าน Compliance ได้ง่ายขึ้น
ปัญหายอดนิยม
ควรทดสอบใน Lab ก่อนเสมอ
ควรทำดังนี้
จะช่วยให้การใช้งานมีเสถียรภาพมากขึ้น
DSC ถือเป็นหนึ่งในเครื่องมือ Infrastructure as Code ของ Microsoft
ช่วยให้
Server Configuration
=
Source Code
ทำให้การบริหารระบบมีมาตรฐานและตรวจสอบย้อนหลังได้
DSC เป็นเครื่องมือสำคัญบน Windows Server 2025 ที่ช่วยให้ Administrator กำหนดมาตรฐานของ Server และให้ระบบตรวจสอบหรือแก้ไขตัวเองได้โดยอัตโนมัติ ลดปัญหา Configuration Drift และช่วยให้การบริหาร Infrastructure ขนาดใหญ่เป็นเรื่องง่ายขึ้น
ทีมงาน comsiam แนะนำให้เริ่มต้นจาก Configuration ง่าย ๆ เช่น Service, Windows Feature และ File Management ก่อน แล้วค่อยพัฒนาไปสู่ระบบ Automation ที่ซับซ้อนขึ้น เพราะ comsiam มองว่า DSC คือสะพานสำคัญที่เชื่อมการดูแล Server แบบดั้งเดิมเข้าสู่โลก Infrastructure as Code อย่างแท้จริง
หากคุณมี Web Server 100 เครื่อง และต้องการให้ทุกเครื่องมี Configuration เหมือนกันทุกประการ คุณจะตรวจสอบทีละเครื่อง หรือจะให้ DSC ควบคุมทั้งหมดแทน?