สร้าง GPO ด้วย PowerShell บน Windows Server 2025 แบบมือโปร

Group Policy Object หรือ GPO คือเครื่องมือสำคัญสำหรับควบคุมการตั้งค่าเครื่อง Client และ Server ในองค์กร ไม่ว่าจะเป็นนโยบายรหัสผ่าน การล็อกหน้าจอ Firewall การ Map Drive การตั้งค่า Desktop หรือข้อกำหนดด้าน Security ต่าง ๆ

ปกติผู้ดูแลระบบมักสร้าง GPO ผ่าน Group Policy Management Console แต่ถ้าองค์กรมีหลาย OU หลาย Site หรือมี Policy จำนวนมาก การใช้ PowerShell จะช่วยให้สร้างและจัดการ GPO ได้เร็วกว่า แม่นยำกว่า และทำซ้ำได้ง่ายกว่าเดิม


① GPO คืออะไร

GPO คือชุดนโยบายที่ใช้ควบคุมการตั้งค่าของ User และ Computer ภายใน Active Directory

ตัวอย่างสิ่งที่ GPO ทำได้

  • บังคับ Password Policy
  • ตั้งค่า Firewall
  • ปิด USB Storage
  • Map Network Drive
  • ตั้งค่า Proxy
  • ตั้งค่า Windows Update
  • ตั้งค่า Security Baseline
  • Deploy Script ตอน Logon / Startup

GPO คือเครื่องมือที่องค์กรใช้ควบคุมมาตรฐานระบบจากศูนย์กลาง


② ทำไมต้องสร้าง GPO ด้วย PowerShell

ข้อดีหลักคือ

  • สร้าง Policy ได้เร็ว
  • ทำงานซ้ำได้
  • ลดความผิดพลาด
  • เหมาะกับหลาย OU
  • Backup และ Restore ได้ง่าย
  • ใช้ร่วมกับ Automation ได้ดี

ถ้าองค์กรมี GPO จำนวนมาก PowerShell จะช่วยลดเวลาการทำงานได้ชัดเจน


③ ตรวจสอบ Group Policy Module

ก่อนใช้งานให้ตรวจสอบ Module

Get-Module GroupPolicy -ListAvailable

ถ้ามี Module พร้อมใช้งาน จะเห็นชื่อ

GroupPolicy

④ โหลด Group Policy Module

ใช้คำสั่ง

Import-Module GroupPolicy

จากนั้นตรวจสอบคำสั่งที่เกี่ยวข้อง

Get-Command -Module GroupPolicy

⑤ สร้าง GPO ใหม่

ตัวอย่าง

New-GPO -Name "Block USB Storage"

ระบบจะสร้าง GPO ใหม่ชื่อ Block USB Storage ทันที


⑥ ตรวจสอบ GPO ทั้งหมด

ใช้คำสั่ง

Get-GPO -All

ถ้าต้องการดูเฉพาะ GPO

Get-GPO -Name "Block USB Storage"

⑦ Link GPO เข้ากับ OU

ตัวอย่าง

New-GPLink `
-Name "Block USB Storage" `
-Target "OU=Users,DC=company,DC=local"

คำสั่งนี้จะนำ GPO ไปผูกกับ OU ที่ต้องการ


⑧ ตั้งค่า Registry Policy ผ่าน GPO

ตัวอย่างการปิด USB Storage

Set-GPRegistryValue `
-Name "Block USB Storage" `
-Key "HKLM\SYSTEM\CurrentControlSet\Services\USBSTOR" `
-ValueName "Start" `
-Type DWord `
-Value 4

ค่า 4 หมายถึงปิดการใช้งาน USB Storage


⑨ เปิด USB Storage กลับมา

ถ้าต้องการเปิดกลับ

Set-GPRegistryValue `
-Name "Block USB Storage" `
-Key "HKLM\SYSTEM\CurrentControlSet\Services\USBSTOR" `
-ValueName "Start" `
-Type DWord `
-Value 3

⑩ สร้าง GPO สำหรับ Firewall

ตัวอย่าง

New-GPO -Name "Enable Windows Firewall"

จากนั้นตั้งค่า Registry หรือใช้ Script เพิ่มเติมตามมาตรฐานองค์กร


⑪ Backup GPO

การ Backup GPO สำคัญมากก่อนแก้ไข Policy

Backup-GPO `
-Name "Block USB Storage" `
-Path "D:\GPOBackup"

ช่วยให้ย้อนกลับได้หากตั้งค่าผิด


⑫ Backup GPO ทั้งหมด

ตัวอย่าง

Backup-GPO -All -Path "D:\GPOBackup"

เหมาะสำหรับทำก่อน Patch, Migration หรือเปลี่ยนค่า Policy สำคัญ


⑬ Restore GPO

ตัวอย่าง

Restore-GPO `
-Name "Block USB Storage" `
-Path "D:\GPOBackup"

ใช้เมื่อต้องการกู้คืน Policy เดิม


⑭ Copy GPO

หากมี Policy ต้นแบบอยู่แล้ว สามารถ Copy ได้

Copy-GPO `
-SourceName "Default Workstation Policy" `
-TargetName "Branch Workstation Policy"

เหมาะกับองค์กรที่มีหลายสาขา


⑮ Rename GPO

ตัวอย่าง

Rename-GPO `
-Name "Block USB Storage" `
-TargetName "Disable USB Storage Policy"

ช่วยจัดระเบียบชื่อ Policy ให้ชัดเจน


⑯ ลบ GPO

ตัวอย่าง

Remove-GPO -Name "Disable USB Storage Policy"

ควรใช้อย่างระมัดระวัง และควร Backup ก่อนเสมอ


⑰ ตรวจสอบ GPO Report

สร้างรายงานแบบ HTML

Get-GPOReport `
-Name "Block USB Storage" `
-ReportType Html `
-Path "D:\Reports\BlockUSB.html"

เหมาะสำหรับส่งให้ทีม IT หรือใช้ทำเอกสาร Audit


⑱ สร้าง Report ทุก GPO

Get-GPOReport `
-All `
-ReportType Html `
-Path "D:\Reports\AllGPO.html"

ช่วยให้ตรวจสอบ Policy ทั้งระบบได้ง่ายขึ้น


⑲ Force Update Group Policy

หลังสร้างหรือแก้ไข GPO สามารถสั่ง Update ที่เครื่อง Client ได้

Invoke-GPUpdate -Computer "PC001" -Force

หรือให้ User รันเองที่เครื่อง

gpupdate /force

⑳ ตรวจสอบผลลัพธ์ที่เครื่อง Client

ใช้คำสั่ง

gpresult /r

หรือสร้างรายงาน

gpresult /h C:\gpresult.html

คำสั่งนี้ช่วยดูว่า Policy ถูก Apply จริงหรือไม่


㉑ Best Practice ในการสร้าง GPO

ควรทำดังนี้

  • ตั้งชื่อ GPO ให้สื่อความหมาย
  • แยก User Policy และ Computer Policy ให้ชัด
  • Backup ก่อนแก้ไขทุกครั้ง
  • ทดสอบกับ OU เล็กก่อน
  • หลีกเลี่ยงการสร้าง GPO ซ้ำซ้อน
  • ทำเอกสารอธิบาย Policy สำคัญ
  • ตรวจสอบผลด้วย gpresult

GPO ที่ดีต้องควบคุมง่าย ตรวจสอบง่าย และไม่ทำให้ระบบช้าโดยไม่จำเป็น


㉒ ข้อผิดพลาดที่พบบ่อย

ปัญหาที่เจอบ่อยคือ

  • Link ผิด OU
  • Security Filtering ผิด
  • Policy ซ้ำกันหลายตัว
  • ไม่ได้ Force Update
  • Registry Path ผิด
  • ลืม Backup ก่อนแก้ไข

ข้อผิดพลาดเหล่านี้ทำให้ Policy ไม่ทำงาน หรือทำงานผิดกลุ่มเป้าหมาย


㉓ GUI หรือ PowerShell ดีกว่า

หัวข้อGUIPowerShell
เริ่มต้นง่ายดีมากปานกลาง
สร้างครั้งเดียวดีดี
สร้างหลาย Policyช้าเร็วมาก
Automationต่ำสูง
Backup จำนวนมากช้าเร็ว
Auditปานกลางดีมาก

สำหรับงานเล็ก GUI ยังใช้ได้ดี แต่สำหรับองค์กรจริง PowerShell เหนือกว่าชัดเจน


㉔ สรุป

การสร้าง GPO ด้วย PowerShell บน Windows Server 2025 ช่วยให้ผู้ดูแลระบบจัดการนโยบายองค์กรได้เร็วขึ้น เป็นระบบมากขึ้น และลดความผิดพลาดจากการตั้งค่าด้วยมือ โดยเฉพาะในองค์กรที่มีหลาย OU หลายสาขา หรือมี Policy จำนวนมาก

ทีมงาน comsiam แนะนำให้ Administrator ใช้ PowerShell ควบคู่กับ Group Policy Management Console เพื่อให้ทำงานได้ทั้งแบบตรวจสอบง่ายและทำ Automation ได้จริง เพราะในระบบ Enterprise การจัดการ GPO ด้วยมือเพียงอย่างเดียวมักไม่พอ และ comsiam มองว่าการ Backup, Report และ Deploy GPO ผ่าน PowerShell คือทักษะที่ช่วยยกระดับผู้ดูแลระบบได้ชัดเจน

คำถามชวนคิด

ถ้าคุณต้องสร้าง Policy เดียวกันให้ 20 สาขา คุณจะคลิกตั้งค่าทีละสาขา หรือใช้ PowerShell สร้าง Link และ Backup ทุกอย่างให้จบในชุดคำสั่งเดียว?