Desired State Configuration (DSC) คืออะไร? ทำไม Admin ยุคใหม่ต้องรู้

เมื่อจำนวน Windows Server เพิ่มจาก 1 เครื่องเป็น 10 เครื่อง หรือจาก 10 เครื่องเป็น 100 เครื่อง ปัญหาที่ผู้ดูแลระบบมักพบคือการตั้งค่าของแต่ละเครื่องเริ่มไม่เหมือนกัน

บางเครื่องเปิด Firewall บางเครื่องปิด
บางเครื่องติดตั้ง Feature ครบ บางเครื่องขาด
บางเครื่องตั้งค่า Service ถูกต้อง บางเครื่องถูกแก้ไขโดยไม่ได้ตั้งใจ

Desired State Configuration (DSC) ถูกสร้างขึ้นมาเพื่อแก้ปัญหานี้โดยตรง

DSC ช่วยให้ Administrator สามารถกำหนด “สภาพที่ต้องการ” ของ Server และให้ระบบตรวจสอบหรือแก้ไขตัวเองอัตโนมัติเมื่อมีการเปลี่ยนแปลง


① Desired State Configuration คืออะไร

DSC หรือ Desired State Configuration คือ Framework สำหรับ Configuration Management ของ PowerShell

แนวคิดหลักคือ

บอกระบบว่าอยากได้อะไร
ไม่ต้องบอกระบบว่าต้องทำอย่างไร

ตัวอย่าง

แทนที่จะบอกว่า

ติดตั้ง IIS
เปิด Service
ตั้งค่า Firewall

เราจะบอกว่า

Server เครื่องนี้ต้องมี IIS
Service ต้อง Running
Firewall ต้องเปิด

จากนั้น DSC จะจัดการเอง


② DSC แก้ปัญหาอะไร

ปัญหาที่พบในองค์กร

  • Server ตั้งค่าไม่เหมือนกัน
  • มีคนแก้ไขค่าระบบโดยไม่ได้แจ้ง
  • Configuration Drift
  • Deploy Server ใหม่ใช้เวลานาน
  • Audit ยาก

DSC ถูกออกแบบมาเพื่อแก้ปัญหาเหล่านี้


③ Configuration Drift คืออะไร

Configuration Drift คือการที่ Server ค่อย ๆ เปลี่ยนจากมาตรฐานเดิม

ตัวอย่าง

วันนี้

IIS Running

อีก 2 เดือน

IIS Stopped

หรือ

Firewall ถูกปิด

หรือ

Service ถูก Disable

DSC สามารถตรวจจับและแก้ไขได้


④ DSC ทำงานอย่างไร

โครงสร้างพื้นฐาน

Configuration

MOF File

Local Configuration Manager

Server

Local Configuration Manager (LCM) จะคอยตรวจสอบสถานะเครื่องอยู่ตลอด


⑤ ประโยชน์ของ DSC

ข้อดีหลัก

  • ลด Configuration Drift
  • ทำ Standardization
  • รองรับ Automation
  • ลด Human Error
  • Deploy ได้รวดเร็ว
  • Audit ได้ง่าย

เหมาะสำหรับ Data Center และ Enterprise


⑥ Local Configuration Manager (LCM) คืออะไร

LCM คือ Agent ที่ทำงานบนเครื่อง Server

หน้าที่

  • อ่าน Configuration
  • ตรวจสอบสถานะ
  • เปรียบเทียบค่าปัจจุบัน
  • แก้ไขให้กลับมาตรงตามมาตรฐาน

ถือเป็นหัวใจของ DSC


⑦ ตรวจสอบสถานะ LCM

ใช้คำสั่ง

Get-DscLocalConfigurationManager

ข้อมูลที่จะแสดง

  • Configuration Mode
  • Refresh Mode
  • Reboot Settings
  • Consistency Check

⑧ Configuration Mode มีอะไรบ้าง

มี 3 รูปแบบ

ApplyOnly

ตั้งค่าเพียงครั้งเดียว

ApplyAndMonitor

ตรวจสอบ
แต่ไม่แก้ไข

ApplyAndAutoCorrect

ตรวจสอบ
และแก้ไขอัตโนมัติ

นิยมใช้มากที่สุด


⑨ ตัวอย่าง Configuration แรก

สร้างไฟล์

Configuration DemoConfig {

Node localhost {

WindowsFeature IIS {

Name = "Web-Server"
Ensure = "Present"

}

}

}

Configuration นี้กำหนดว่า IIS ต้องถูกติดตั้งเสมอ


⑩ Compile Configuration

รัน

DemoConfig

ระบบจะสร้างไฟล์

localhost.mof

MOF คือไฟล์ Configuration ที่ DSC ใช้งานจริง


⑪ Apply Configuration

ตัวอย่าง

Start-DscConfiguration `
-Path .\DemoConfig `
-Wait `
-Verbose

DSC จะเริ่มตั้งค่าเครื่องทันที


⑫ ตรวจสอบ Configuration ปัจจุบัน

Get-DscConfiguration

ใช้ดูว่ามี Resource อะไรถูกควบคุมอยู่


⑬ ทดสอบว่า Configuration ยังถูกต้องหรือไม่

Test-DscConfiguration

ผลลัพธ์

True

หมายถึงยังตรงตามมาตรฐาน


⑭ ตัวอย่างควบคุม Service

Service DNS {

Name = "DNS"
State = "Running"

}

หาก Service หยุด

DSC สามารถเปิดกลับเองได้


⑮ ตัวอย่างควบคุม File

File ConfigFile {

DestinationPath = "C:\Config.txt"
Ensure = "Present"

}

ถ้าไฟล์ถูกลบ DSC จะสร้างกลับมา


⑯ ตัวอย่างควบคุม Registry

Registry Example {

Key = "HKLM:\Software\Test"
ValueName = "Enabled"

}

เหมาะกับการควบคุม Security Setting


⑰ DSC กับ IIS

ตัวอย่างงานยอดนิยม

  • ติดตั้ง IIS
  • เปิด Website
  • ตั้งค่า App Pool
  • Deploy Configuration

ช่วยให้ Web Server ทุกเครื่องเหมือนกัน


⑱ DSC กับ Active Directory

ใช้สำหรับ

  • ติดตั้ง AD DS
  • ตั้งค่า Domain Controller
  • ตรวจสอบ Service
  • ควบคุม Security Setting

ลดความผิดพลาดในการติดตั้งได้มาก


⑲ DSC กับ File Server

ตัวอย่าง

  • Folder Structure
  • NTFS Permission
  • Share Configuration

ทำให้ File Server ทุกเครื่องมีมาตรฐานเดียวกัน


⑳ DSC กับ Security

ตัวอย่าง

  • Password Policy
  • Firewall Rule
  • Audit Policy
  • Security Baseline

ช่วยให้ Compliance ง่ายขึ้น


㉑ Push Mode คืออะไร

Administrator ส่ง Configuration ไปยัง Server

Admin

Server

เหมาะกับระบบขนาดเล็ก


㉒ Pull Mode คืออะไร

Server ดึง Configuration เอง

Pull Server

Server

เหมาะกับระบบขนาดใหญ่


㉓ DSC กับ Infrastructure as Code

DSC ถือเป็นส่วนหนึ่งของแนวคิด

Infrastructure as Code

ซึ่งเป็นแนวทางหลักของ Modern Data Center


㉔ DSC กับ Ansible และ Terraform

DSC สามารถทำงานร่วมกับ

  • Ansible
  • Terraform
  • Azure Automation
  • Git

ได้เป็นอย่างดี

จึงยังคงมีบทบาทสำคัญในองค์กรขนาดใหญ่


㉕ ข้อจำกัดของ DSC

สิ่งที่ควรรู้

  • ต้องเรียนรู้ Syntax
  • มีความซับซ้อนกว่าการคลิก GUI
  • ต้องวางแผน Configuration ดี ๆ
  • ต้องมีการทดสอบก่อนใช้งานจริง

แต่ผลลัพธ์ที่ได้คุ้มค่ามากสำหรับองค์กร


㉖ Best Practice สำหรับ DSC

ควรทำดังนี้

  • ใช้ Source Control
  • แยก Environment
  • ทดสอบใน Lab ก่อน
  • ตั้งชื่อ Configuration ชัดเจน
  • ตรวจสอบ Log สม่ำเสมอ
  • ใช้ ApplyAndAutoCorrect กับระบบสำคัญ

จะช่วยลดปัญหาระยะยาวได้มาก


㉗ DSC กับ Windows Server 2025

Windows Server 2025 รองรับ

  • Automation
  • Hybrid Cloud
  • Infrastructure as Code
  • Modern Management

DSC จึงยังเป็นเครื่องมือสำคัญสำหรับผู้ดูแลระบบ


㉘ สรุป

Desired State Configuration (DSC) คือเครื่องมือ Configuration Management ของ Microsoft ที่ช่วยให้ Windows Server 2025 รักษามาตรฐานการตั้งค่าได้อย่างอัตโนมัติ ลดปัญหา Configuration Drift และช่วยให้ Administrator บริหารจัดการ Infrastructure จำนวนมากได้ง่ายขึ้น

ทีมงาน comsiam แนะนำให้ผู้ดูแลระบบที่ต้องดูแลหลาย Server เริ่มศึกษา DSC ตั้งแต่เนิ่น ๆ เพราะเป็นรากฐานสำคัญของ Automation และ Infrastructure as Code ในโลก Microsoft และ comsiam มองว่า DSC คือก้าวสำคัญที่เปลี่ยนจากการดูแล Server แบบ Manual ไปสู่การบริหาร Infrastructure แบบอัตโนมัติอย่างแท้จริง

คำถามชวนคิด

หากมีคนเผลอปิด Service สำคัญบน Production Server ตอนกลางคืน คุณอยากให้มีคนตื่นมาแก้ปัญหา หรืออยากให้ DSC ตรวจพบและแก้ไขกลับให้อัตโนมัติ?