Contact
Line : comsiam
Contact
Line : comsiam

Group Policy Object หรือ GPO คือเครื่องมือสำคัญสำหรับควบคุมการตั้งค่าเครื่อง Client และ Server ในองค์กร ไม่ว่าจะเป็นนโยบายรหัสผ่าน การล็อกหน้าจอ Firewall การ Map Drive การตั้งค่า Desktop หรือข้อกำหนดด้าน Security ต่าง ๆ
ปกติผู้ดูแลระบบมักสร้าง GPO ผ่าน Group Policy Management Console แต่ถ้าองค์กรมีหลาย OU หลาย Site หรือมี Policy จำนวนมาก การใช้ PowerShell จะช่วยให้สร้างและจัดการ GPO ได้เร็วกว่า แม่นยำกว่า และทำซ้ำได้ง่ายกว่าเดิม
GPO คือชุดนโยบายที่ใช้ควบคุมการตั้งค่าของ User และ Computer ภายใน Active Directory
ตัวอย่างสิ่งที่ GPO ทำได้
GPO คือเครื่องมือที่องค์กรใช้ควบคุมมาตรฐานระบบจากศูนย์กลาง
ข้อดีหลักคือ
ถ้าองค์กรมี GPO จำนวนมาก PowerShell จะช่วยลดเวลาการทำงานได้ชัดเจน
ก่อนใช้งานให้ตรวจสอบ Module
Get-Module GroupPolicy -ListAvailable
ถ้ามี Module พร้อมใช้งาน จะเห็นชื่อ
GroupPolicy
ใช้คำสั่ง
Import-Module GroupPolicy
จากนั้นตรวจสอบคำสั่งที่เกี่ยวข้อง
Get-Command -Module GroupPolicy
ตัวอย่าง
New-GPO -Name "Block USB Storage"
ระบบจะสร้าง GPO ใหม่ชื่อ Block USB Storage ทันที
ใช้คำสั่ง
Get-GPO -All
ถ้าต้องการดูเฉพาะ GPO
Get-GPO -Name "Block USB Storage"
ตัวอย่าง
New-GPLink `
-Name "Block USB Storage" `
-Target "OU=Users,DC=company,DC=local"
คำสั่งนี้จะนำ GPO ไปผูกกับ OU ที่ต้องการ
ตัวอย่างการปิด USB Storage
Set-GPRegistryValue `
-Name "Block USB Storage" `
-Key "HKLM\SYSTEM\CurrentControlSet\Services\USBSTOR" `
-ValueName "Start" `
-Type DWord `
-Value 4
ค่า 4 หมายถึงปิดการใช้งาน USB Storage
ถ้าต้องการเปิดกลับ
Set-GPRegistryValue `
-Name "Block USB Storage" `
-Key "HKLM\SYSTEM\CurrentControlSet\Services\USBSTOR" `
-ValueName "Start" `
-Type DWord `
-Value 3
ตัวอย่าง
New-GPO -Name "Enable Windows Firewall"
จากนั้นตั้งค่า Registry หรือใช้ Script เพิ่มเติมตามมาตรฐานองค์กร
การ Backup GPO สำคัญมากก่อนแก้ไข Policy
Backup-GPO `
-Name "Block USB Storage" `
-Path "D:\GPOBackup"
ช่วยให้ย้อนกลับได้หากตั้งค่าผิด
ตัวอย่าง
Backup-GPO -All -Path "D:\GPOBackup"
เหมาะสำหรับทำก่อน Patch, Migration หรือเปลี่ยนค่า Policy สำคัญ
ตัวอย่าง
Restore-GPO `
-Name "Block USB Storage" `
-Path "D:\GPOBackup"
ใช้เมื่อต้องการกู้คืน Policy เดิม
หากมี Policy ต้นแบบอยู่แล้ว สามารถ Copy ได้
Copy-GPO `
-SourceName "Default Workstation Policy" `
-TargetName "Branch Workstation Policy"
เหมาะกับองค์กรที่มีหลายสาขา
ตัวอย่าง
Rename-GPO `
-Name "Block USB Storage" `
-TargetName "Disable USB Storage Policy"
ช่วยจัดระเบียบชื่อ Policy ให้ชัดเจน
ตัวอย่าง
Remove-GPO -Name "Disable USB Storage Policy"
ควรใช้อย่างระมัดระวัง และควร Backup ก่อนเสมอ
สร้างรายงานแบบ HTML
Get-GPOReport `
-Name "Block USB Storage" `
-ReportType Html `
-Path "D:\Reports\BlockUSB.html"
เหมาะสำหรับส่งให้ทีม IT หรือใช้ทำเอกสาร Audit
Get-GPOReport `
-All `
-ReportType Html `
-Path "D:\Reports\AllGPO.html"
ช่วยให้ตรวจสอบ Policy ทั้งระบบได้ง่ายขึ้น
หลังสร้างหรือแก้ไข GPO สามารถสั่ง Update ที่เครื่อง Client ได้
Invoke-GPUpdate -Computer "PC001" -Force
หรือให้ User รันเองที่เครื่อง
gpupdate /force
ใช้คำสั่ง
gpresult /r
หรือสร้างรายงาน
gpresult /h C:\gpresult.html
คำสั่งนี้ช่วยดูว่า Policy ถูก Apply จริงหรือไม่
ควรทำดังนี้
GPO ที่ดีต้องควบคุมง่าย ตรวจสอบง่าย และไม่ทำให้ระบบช้าโดยไม่จำเป็น
ปัญหาที่เจอบ่อยคือ
ข้อผิดพลาดเหล่านี้ทำให้ Policy ไม่ทำงาน หรือทำงานผิดกลุ่มเป้าหมาย
| หัวข้อ | GUI | PowerShell |
|---|---|---|
| เริ่มต้นง่าย | ดีมาก | ปานกลาง |
| สร้างครั้งเดียว | ดี | ดี |
| สร้างหลาย 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 ทุกอย่างให้จบในชุดคำสั่งเดียว?