วิธีจัดการ Website บน IIS Windows Server 2022 ผ่าน PowerShell แบบมืออาชีพ

 PowerShell เป็นเครื่องมือสำคัญสำหรับผู้ดูแลระบบ Windows Server 2022 เพราะช่วยให้สามารถจัดการ IIS ได้รวดเร็วกว่า IIS Manager หลายเท่า โดยเฉพาะเมื่อมีเว็บไซต์จำนวนมาก หรือจำเป็นต้องทำงานแบบ Automation

ในองค์กรขนาดใหญ่ การใช้ PowerShell ถือเป็นมาตรฐานในการบริหาร IIS เนื่องจากช่วยลดงาน Manual ลดความผิดพลาด และรองรับการทำงานแบบ Script และ DevOps ได้อย่างสมบูรณ์

บทความนี้จะสอนการจัดการ Website บน IIS Windows Server 2022 ผ่าน PowerShell ตั้งแต่พื้นฐานจนถึงระดับองค์กร

① ทำไมต้องใช้ PowerShell จัดการ IIS

ข้อดีของ PowerShell

✅ จัดการหลายเว็บไซต์พร้อมกัน

✅ ทำ Automation ได้

✅ ลดเวลาในการทำงาน

✅ เหมาะกับ Web Farm

✅ ใช้งานผ่าน Remote ได้

✅ รองรับ DevOps และ CI/CD


② ตรวจสอบว่า IIS Module พร้อมใช้งานหรือไม่

เปิด PowerShell แบบ Administrator

ใช้คำสั่ง

Get-Module -ListAvailable WebAdministration

หากพบ Module

WebAdministration

แสดงว่าพร้อมใช้งาน


③ โหลด IIS Module

ใช้คำสั่ง

Import-Module WebAdministration

ทุกครั้งก่อนเริ่มงาน


④ ดูเว็บไซต์ทั้งหมด

คำสั่งพื้นฐาน

Get-Website

ตัวอย่างผลลัพธ์

Default Web Site
Company
CRM
API

พร้อมสถานะของแต่ละเว็บไซต์


⑤ ดูเฉพาะเว็บไซต์ที่ทำงานอยู่

Get-Website | Where-Object {$_.State -eq "Started"}

เหมาะสำหรับตรวจสอบ Production Server


⑥ ดูเว็บไซต์ที่หยุดทำงาน

Get-Website | Where-Object {$_.State -eq "Stopped"}

ช่วยค้นหาปัญหาได้รวดเร็ว


⑦ สร้างเว็บไซต์ใหม่

ตัวอย่าง

New-Website `
-Name "Company" `
-Port 80 `
-HostHeader "company.com" `
-PhysicalPath "D:\Websites\Company"

เว็บไซต์จะถูกสร้างทันที


⑧ เริ่มเว็บไซต์

Start-Website -Name "Company"

⑨ หยุดเว็บไซต์

Stop-Website -Name "Company"

⑩ Restart เว็บไซต์

Stop-Website -Name "Company"

Start-Website -Name "Company"

หรือสร้าง Script รวม


⑪ ลบเว็บไซต์

Remove-Website -Name "Company"

⚠️ ไม่ลบไฟล์เว็บไซต์

ลบเฉพาะ Configuration ใน IIS


⑫ ดู Application Pool ทั้งหมด

Get-ChildItem IIS:\AppPools

ตัวอย่าง

DefaultAppPool
CompanyPool
CRMPool

⑬ สร้าง Application Pool

New-WebAppPool -Name "CompanyPool"

⑭ เริ่ม Application Pool

Start-WebAppPool "CompanyPool"

⑮ หยุด Application Pool

Stop-WebAppPool "CompanyPool"

⑯ ดู Binding ทั้งหมด

Get-WebBinding

ตัวอย่าง

*:80:company.com
*:443:company.com

⑰ เพิ่ม HTTP Binding

New-WebBinding `
-Name "Company" `
-Protocol http `
-Port 80 `
-HostHeader "company.com"

⑱ เพิ่ม HTTPS Binding

New-WebBinding `
-Name "Company" `
-Protocol https `
-Port 443

จากนั้นผูก SSL Certificate เพิ่มเติม


⑲ ดู Worker Process

Get-WmiObject Win32_Process |
Where {$_.Name -eq "w3wp.exe"}

ช่วยตรวจสอบ IIS Worker Process


⑳ ดูเว็บไซต์พร้อม Path

Get-Website |
Select Name,PhysicalPath

เหมาะสำหรับตรวจสอบเว็บไซต์จำนวนมาก


㉑ Export รายชื่อเว็บไซต์

Get-Website |
Export-Csv D:\Reports\Sites.csv

สร้างรายงานอัตโนมัติได้ทันที


㉒ Backup IIS Configuration

Backup-WebConfiguration

สร้าง Backup ของ IIS


㉓ Restore IIS Configuration

Restore-WebConfiguration

ใช้กู้คืนค่าที่สำรองไว้


㉔ ตรวจสอบเว็บไซต์ทั้งหมดแบบรวดเร็ว

Get-Website |
Select Name,State,PhysicalPath

ตัวอย่างผลลัพธ์

Company   Started
CRM       Started
API       Stopped

㉕ จัดการหลายเว็บไซต์พร้อมกัน

หยุดเว็บไซต์ทั้งหมด

Get-Website |
Stop-Website

เริ่มเว็บไซต์ทั้งหมด

Get-Website |
Start-Website

เหมาะสำหรับงาน Maintenance


㉖ ใช้ Remote PowerShell

เชื่อมต่อ Server ระยะไกล

Enter-PSSession SERVER01

จัดการ IIS ได้โดยไม่ต้อง Remote Desktop


㉗ ตัวอย่าง Automation จริง

รีสตาร์ท Application Pool ทุกคืน

Restart-WebAppPool "CompanyPool"

ตั้งผ่าน Task Scheduler

ช่วยลด Memory Leak


㉘ ปัญหาที่พบบ่อย

❌ ไม่พบคำสั่ง IIS

สาเหตุ

ไม่ได้ Import Module


❌ Access Denied

สาเหตุ

ไม่ได้เปิด PowerShell แบบ Administrator


❌ สร้างเว็บไซต์ไม่สำเร็จ

สาเหตุ

Path ไม่มีอยู่จริง


❌ Binding ซ้ำ

สาเหตุ

Port หรือ Host Header ถูกใช้งานแล้ว


㉙ Best Practices

🚀 ใช้ Script แทน Manual

🚀 Backup ก่อนแก้ไขระบบ

🚀 Export รายงานเป็นประจำ

🚀 ใช้ Remote PowerShell

🚀 จัดการผ่าน Automation

🚀 บันทึก Script ไว้ใน Version Control

ทีมงาน comsiam ใช้ PowerShell เป็นเครื่องมือหลักในการดูแล IIS Windows Server 2022 เพราะช่วยลดเวลาการทำงานจากหลายชั่วโมงเหลือเพียงไม่กี่นาที และช่วยให้การจัดการ Web Server จำนวนมากเป็นเรื่องง่ายขึ้นอย่างมาก


🎯 สรุป

PowerShell เป็นเครื่องมือที่ทรงพลังที่สุดสำหรับการจัดการ IIS Windows Server 2022 ไม่ว่าจะเป็นการสร้างเว็บไซต์ จัดการ Application Pool ดูสถานะระบบ หรือทำ Automation

หากต้องดูแลเว็บไซต์จำนวนมากหรือบริหาร Web Server ระดับองค์กร การเรียนรู้ PowerShell จะช่วยเพิ่มประสิทธิภาพในการทำงาน ลดข้อผิดพลาด และทำให้การจัดการ IIS มีความเป็นมืออาชีพมากขึ้น ซึ่งเป็นแนวทางที่ comsiam ใช้งานจริงในระบบ Production และ Enterprise Environment

Popular posts from this blog

Windows Server 2022 ยังน่าใช้ในปีนี้หรือไม่? คำตอบสำหรับคนกำลังวางระบบใหม่

สเปกเครื่องสำหรับติดตั้ง Windows Server 2022 เลือกอย่างไรให้คุ้มและใช้งานได้ยาว

Windows Server 2022 คืออะไร? คู่มือสำหรับมือใหม่