
คำตอบสั้น ๆ: ใช้ File Server Resource Manager (FSRM) ตั้งโควตาพื้นที่รายโฟลเดอร์ ส่งอีเมลเตือนก่อนเต็ม บล็อกไฟล์ที่ไม่ควรเก็บบน File Server และออกรายงานการใช้พื้นที่
คู่มือนี้อธิบาย File Server Resource Manager ทีละขั้นตอน พร้อมคำสั่งที่ใช้ได้จริงและปัญหาที่พบบ่อย
File Server Resource Manager หรือ FSRM คือ Role Service บน Windows Server สำหรับคุมการใช้พื้นที่ของ File Server ทั้งตั้งโควตาแยกรายโฟลเดอร์ ส่งอีเมลเตือนก่อนพื้นที่เต็ม บล็อกไฟล์ที่ไม่ควรเก็บบนเซิร์ฟเวอร์ และออกรายงานว่าใครหรือไฟล์ประเภทใดกินพื้นที่มากที่สุด เหมาะกับองค์กรที่ดิสก์ส่วนกลางเต็มบ่อยโดยไม่รู้ตัวว่าเกิดจากโฟลเดอร์ไหน
คู่มือ สร้าง File Server และกำหนดสิทธิ์ Share กับ NTFS แนะนำการตั้งโควตาไว้สั้น ๆ คู่มือนี้ลงรายละเอียดต่อ ได้แก่ การตั้งค่าอีเมลแจ้งเตือน Quota Template ที่เตือนหลายระดับ Auto Apply Quota สำหรับโฟลเดอร์ผู้ใช้ File Screen แบบ Active และ Passive และรายงานพื้นที่ เมื่อจบคุณจะได้ File Server ที่เตือนก่อนปัญหาเกิด ไม่ใช่รู้ตัวตอนดิสก์เต็มแล้ว

สิ่งที่ต้องเตรียม
- Windows Server 2019, 2022 หรือ 2025 ที่ทำหน้าที่ File Server และเก็บข้อมูลบนไดรฟ์ NTFS แยกจากไดรฟ์ระบบ
- บัญชีในกลุ่ม Administrators และ PowerShell แบบ Run as administrator
- SMTP relay ที่ยอมรับอีเมลจาก IP ของเซิร์ฟเวอร์โดยไม่ต้องล็อกอิน เพราะหน้าตั้งค่าอีเมลของ FSRM ไม่มีช่องใส่ชื่อผู้ใช้และรหัสผ่าน
- อีเมลของทีมดูแลระบบที่จะรับการแจ้งเตือน เช่น [email protected]
- ตัวเลขพื้นที่ที่แต่ละแผนกควรได้ ตกลงกับผู้บริหารก่อนบังคับใช้ จะได้ไม่มีงานสะดุดกะทันหัน
ขั้นตอนที่ 1: ติดตั้ง File Server Resource Manager
Install-WindowsFeature -Name FS-Resource-Manager -IncludeManagementTools
Get-WindowsFeature -Name FS-Resource-Managerคอลัมน์ Install State ต้องเป็น Installed การติดตั้งนี้มักไม่ต้องรีสตาร์ต เปิดหน้าจอจัดการได้ที่ Server Manager › Tools › File Server Resource Manager ซึ่งมีเมนูหลักคือ Quota Management, File Screening Management และ Storage Reports Management
ขั้นตอนที่ 2: ตั้งค่า SMTP และทดสอบอีเมล
ทุกการแจ้งเตือนของ File Server Resource Manager ใช้ค่ากลางชุดนี้ ตั้งให้ถูกตั้งแต่ต้นจะได้ไม่ต้องไล่แก้ทีละโควตา
Set-FsrmSetting -SmtpServer "smtp-relay.example.com" -AdminEmailAddress "[email protected]" -FromEmailAddress "[email protected]"
Test-NetConnection smtp-relay.example.com -Port 25
Send-FsrmTestEmail -ToEmailAddress "[email protected]"ถ้าถนัดหน้าจอ ให้คลิกขวาที่ File Server Resource Manager (Local) เลือก Configure Options แล้วไปที่แท็บ Email Notifications กรอก SMTP server name or IP address, Default administrator recipients และ Default "From" e-mail address แล้วกด Send Test E-mail ถ้า Test-NetConnection ขึ้น TcpTestSucceeded เป็น False แปลว่าพอร์ต 25 ขาออกถูกปิด ต้องแก้ที่เครือข่ายก่อน
ขั้นตอนที่ 3: สร้าง Quota Template ที่เตือนหลายระดับ
Quota Template ใน File Server Resource Manager ช่วยให้ทุกโฟลเดอร์ใช้กติกาเดียวกัน และแก้ครั้งเดียวมีผลทุกที่ ตัวอย่างนี้เตือนทางอีเมลที่ 85% และที่ 100% ส่งอีเมลพร้อมบันทึก Event Log
$mail = New-FsrmAction -Type Email -MailTo "[Admin Email]" -Subject "Quota warning: [Quota Path] at [Quota Used Percent]%" -Body "Folder [Quota Path] on [Server] has used [Quota Used Percent]% of [Quota Limit MB] MB." -RunLimitInterval 120
$evt = New-FsrmAction -Type Event -EventType Warning -Body "Quota [Quota Path] reached [Quota Used Percent]%."
$t85 = New-FsrmQuotaThreshold -Percentage 85 -Action $mail
$t100 = New-FsrmQuotaThreshold -Percentage 100 -Action $mail, $evt
New-FsrmQuotaTemplate -Name "Department 200GB" -Size 200GB -Threshold $t85, $t100
New-FsrmQuotaTemplate -Name "Home 20GB" -Size 20GB -Threshold $t85, $t100ข้อความในวงเล็บเหลี่ยมคือตัวแปรที่ระบบแทนค่าให้ตอนส่งจริง ส่วน RunLimitInterval 120 กันไม่ให้อีเมลเรื่องเดิมถูกส่งถี่กว่าทุก 120 นาที Template ที่สร้างแบบนี้เป็น Hard quota คือบล็อกการเขียนเมื่อเต็ม ถ้าต้องการเฝ้าดูอย่างเดียว ให้เพิ่ม -SoftLimit

ขั้นตอนที่ 4: ใช้โควตากับโฟลเดอร์แผนกและโฟลเดอร์ผู้ใช้
โฟลเดอร์แผนกตั้งโควตาทีละโฟลเดอร์ ส่วนโฟลเดอร์ส่วนตัวของผู้ใช้ให้ใช้ Auto Apply Quota ที่โฟลเดอร์แม่ ระบบจะใส่โควตาให้ทุกโฟลเดอร์ย่อยที่มีอยู่และที่สร้างใหม่ในอนาคตโดยอัตโนมัติ
New-FsrmQuota -Path "D:\Shares\Company\Finance" -Template "Department 200GB"
New-FsrmQuota -Path "D:\Shares\Company\HR" -Template "Department 200GB"
New-FsrmAutoQuota -Path "D:\Shares\Home" -Template "Home 20GB"
Get-FsrmQuota | Format-Table Path, Template, Size, Usage, SoftLimit -AutoSize
ถ้าต้องเปลี่ยนขนาดใน Template ภายหลัง ใช้ Set-FsrmQuotaTemplate -Name "Home 20GB" -Size 30GB -UpdateDerivedMatching เพื่อปรับเฉพาะโควตาที่ยังตรงกับ Template เดิม โควตาที่แอดมินปรับให้เป็นกรณีพิเศษจะไม่ถูกทับ

