Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> ระบบ >> Windows Server

วิธีเปิดใช้งานและกำหนดค่า User Disk Quotas ใน Windows

Disk quotas ช่วยให้ผู้ดูแลระบบ Windows ควบคุมและจำกัดปริมาณพื้นที่ดิสก์ที่ผู้ใช้ใช้บน file systems ของเซิร์ฟเวอร์และเวิร์กสเตชัน Windows Server รองรับสองประเภทของ disk quotas: File Server Resource Manager quotas และ NTFS quotas แม้ FSRM quotas จะยืดหยุ่นและสะดวกกว่า แต่ในบางกรณี NTFS quotas สามารถใช้ได้อย่างมีประสิทธิภาพ ตัวอย่างเช่น เพื่อจำกัดขนาดของ roaming profile folders (แต่ไม่ใช่ User Profile Disks) และ redirected home folders บน RDS hosts ไดเรกทอรีส่วนตัวของผู้ใช้บน FTP servers และ IIS sites ฯลฯ ในบทความนี้ เราจะแนะนำวิธีกำหนดค่า NTFS disk quotas สำหรับผู้ใช้ Windows

การทำความเข้าใจ NTFS Disk Quotas ใน Windows

คุณสามารถใช้ Windows disk quotas เพื่อจำกัดขนาดสูงสุดของไฟล์และโฟลเดอร์สำหรับแต่ละผู้ใช้ เพื่อไม่ให้พวกเขาใช้พื้นที่ดิสก์หมดด้วยข้อมูลของพวกเขา Disk quotas พร้อมใช้งานในทั้ง server และ desktop Windows versions

คุณสมบัติหลักและข้อจำกัดของ NTFS quotas:

  • Quotas สามารถนำไปใช้กับทั้ง NTFS-formatted volume (partition) เท่านั้น ประเภท quota นี้จะไม่ทำงานบน ReFS drives
  • Quotas ถูกนำไปใช้กับผู้ใช้ทั้งหมดที่จัดเก็บข้อมูลบน partition นี้ คุณไม่สามารถนำ quota ไปใช้กับกลุ่มผู้ใช้หรือโฟลเดอร์แยกต่างหากได้ ในกรณีนี้ עדיף ใช้ FSRM
  • การเป็นเจ้าของไฟล์และโฟลเดอร์ ถูกกำหนดโดยการตรวจสอบรายการ Owner ใน NTFS security descriptor
  • โดยค่าเริ่มต้น Windows สแกน partition ที่เปิดใช้งาน disk quotas และคำนวณขนาดไฟล์รวมของแต่ละผู้ใช้ทุกชั่วโมง
  • เมื่อใช้ NTFS compression ขนาดไฟล์ต้นฉบับ (ก่อนบีบอัด) จะถูกนำมาคำนวณ

มีสถานการณ์การใช้ NTFS disk quotas ดังต่อไปนี้:

  • การติดตามการใช้งานดิสก์ — ดูสถิติการใช้พื้นที่ดิสก์ของผู้ใช้บนเซิร์ฟเวอร์
  • การติดตามและแจ้งเตือน — นอกจากสถานการณ์แรกแล้ว เมื่อเกิน quota จะมีการบันทึก event ใน Event Viewer พร้อมข้อมูล username และการใช้ quota
  • การควบคุมการใช้งานดิสก์ — หากเกิน quota ผู้ใช้จะไม่สามารถบันทึกไฟล์ใหม่ได้

เปิดใช้งาน Disk Quotas บน Windows 10/Windows Server 2016

ลองพิจารณากรณีการกำหนดค่า NTFS quotas บนดิสก์ที่มีข้อมูลผู้ใช้บน Windows Server 2016 ใน Windows ทุกเวอร์ชันก่อนหน้า (ตั้งแต่ Windows 2003) NTFS disk quotas ถูกกำหนดค่าในลักษณะเดียวกัน

เปิดหน้าต่างคุณสมบัติของดิสก์ที่คุณต้องการเปิดใช้งาน quotas ไปที่แท็บ Quota จากนั้นคลิก Show Quota Settings:

วิธีเปิดใช้งานและกำหนดค่า User Disk Quotas ใน Windows

เพื่อเปิดใช้งาน quotas สำหรับ volume นี้ ให้ติ๊ก Enable quota management

ตัวเลือกต่อไปนี้อาจถูกติ๊กขึ้นอยู่กับสถานการณ์การใช้ quota:

  • Deny disk space to users exceeding quota limit – ป้องกันไม่ให้ผู้ใช้ที่เกิน quota limit เขียนลงดิสก์
  • Limit disk space to — ตั้งค่าขีดจำกัดขนาดไฟล์รวมสำหรับผู้ใช้คนหนึ่ง
  • Log event when a user exceeds their quota limit – บันทึก event ใน Event Viewer หากผู้ใช้เกิน quota limit
  • Log event when a user exceeds their warning level – บันทึก event เมื่อถึงระดับเตือน quota

ไม่แนะนำให้เปิดใช้งานตัวเลือก “Deny disk space to users exceeding quota limit” ทันที ควรประเมินการใช้พื้นที่ดิสก์ปัจจุบันของผู้ใช้ของคุณก่อน ในตัวอย่างของเรา เราต้องการจำกัดผู้ใช้แต่ละคนไว้ที่ 1 GB ของพื้นที่ดิสก์บนเซิร์ฟเวอร์

วิธีเปิดใช้งานและกำหนดค่า User Disk Quotas ใน Windows

บันทึกการเปลี่ยนแปลง (Apply) ในเวลาบางช่วง (ขึ้นอยู่กับขนาดดิสก์และจำนวนไฟล์) Windows จะนับการใช้พื้นที่ดิสก์รวมของทุกผู้ใช้

คลิกที่ปุ่ม Quota Entries คุณจะเห็นตารางผลลัพธ์แสดง quotas และขนาดพื้นที่ที่ใช้ปัจจุบันของแต่ละผู้ใช้ (ซึ่งไฟล์ของพวกเขาพบบน file system) ที่นี่คุณสามารถเห็นได้อย่างรวดเร็วว่าผู้ใช้คนไหนเกิน disk quotas ของพวกเขาแล้ว

วิธีเปิดใช้งานและกำหนดค่า User Disk Quotas ใน Windows

โดยค่าเริ่มต้น quotas เดียวกันถูกตั้งค่าสำหรับผู้ใช้ทั้งหมด จากหน้าต่าง Quota Entries คุณสามารถสร้าง เพิ่ม หรือปิดใช้งาน custom quota settings สำหรับผู้ใช้เฉพาะได้

เพื่อปิดใช้งาน NTFS disk quotas สำหรับบัญชีผู้ใช้เฉพาะ ให้เปิดคุณสมบัติ (Properties) ของรายการในตาราง quota และติ๊ก “Do not limit disk usage”

สำคัญ: คุณต้องปิดใช้งาน quotas สำหรับ system accounts NT Service\TrustedInstaller และ NT AUTHORITY\SYSTEM มิฉะนั้น Windows อาจทำงานไม่ถูกต้อง

วิธีเปิดใช้งานและกำหนดค่า User Disk Quotas ใน Windows

จากหน้าต่างรายการ quota คุณสามารถส่งออกการตั้งค่า quota ของคุณ และนำเข้าและนำไปใช้กับดิสก์หรือคอมพิวเตอร์อื่นได้

หากคุณต้องการแสดงรายการไฟล์ที่นับใน quota ของผู้ใช้เฉพาะ คุณต้องเลือกเมนู Delete

วิธีเปิดใช้งานและกำหนดค่า User Disk Quotas ใน Windows

กล่องโต้ตอบนี้ช่วยให้เปลี่ยนเจ้าของไฟล์เฉพาะ (Take ownership) ลบ หรือย้ายไฟล์

หลังจากที่คุณจัดเรียง soft quotas ในโหมด audit แล้ว คุณสามารถเปิดใช้งานตัวเลือก Deny disk space to users exceeding quota limit นี่จะเปิดใช้งานโหมด hard disk quotas ตอนนี้ผู้ใช้จะไม่สามารถเกินพื้นที่ดิสก์ที่จัดสรรได้ โปรดทราบว่าขนาดดิสก์ในเซสชันผู้ใช้ตอนนี้แสดงตาม disk quotas ที่มีอยู่ ในตัวอย่างนี้ 876 MB ของ quota 1 GB ว่างสำหรับบัญชีของผมบนไดรฟ์ C:\

วิธีเปิดใช้งานและกำหนดค่า User Disk Quotas ใน Windows

หากเกิน quota limit ผู้ใช้จะได้รับข้อความต่อไปนี้:

There is not enough space on …. xx MB is needed to copy this item. Delete or move files so you have enough space.

วิธีเปิดใช้งานและกำหนดค่า User Disk Quotas ใน Windows

ในเวลาเดียวกัน event ที่มี EventID 37 และ source Ntfs จะถูกบันทึกลง Event Viewer:

A user hit their quota limit on volume C:.

วิธีเปิดใช้งานและกำหนดค่า User Disk Quotas ใน Windows

การกำหนดค่า Disk Quotas ด้วยการตั้งค่า Group Policy

คุณสามารถจัดการการตั้งค่า disk quota บนคอมพิวเตอร์และเซิร์ฟเวอร์ในโดเมนโดยใช้ Group Policies การตั้งค่า quota ตั้งอยู่ภายใต้ส่วน GPO: Computer Configuration -> Administrative Templates -> System -> Disk Quotas เพื่อเปิดใช้งาน disk quotas คล้ายกับที่อธิบายข้างต้น ให้ตั้งค่าต่อไปนี้ใน GPO ของคุณ:

  • Enable Disk Quotas: Enable
  • Enforce Disk Quota Limit: Enable
  • Default Quota Limit And Warning Level: Enable (Default quota limit/warning level: 1 Gb)
  • Log Event When Quota Limit Exceeded: Enable
  • Apply Policy To Removable Media: Enable (หากคุณต้องการนำ quotas ไปใช้กับ removable media รวมถึง USB flash drives)

วิธีเปิดใช้งานและกำหนดค่า User Disk Quotas ใน Windows

เหลือเพียงมอบหมาย GPO นี้ให้กับ OU ที่มีคอมพิวเตอร์/เซิร์ฟเวอร์ที่คุณต้องการนำ disk quotas ไปใช้ และรอการอัปเดตการตั้งค่า group policy

Disk quotas ที่กำหนดค่าผ่าน GPO จะถูกนำไปใช้กับทุกดิสก์ของคอมพิวเตอร์ คุณไม่สามารถกำหนดค่า exclusions สำหรับผู้ใช้เฉพาะได้

การจัดการ Disk Quotas โดยใช้ Command Prompt/PowerShell

NTFS quotas ยังสามารถจัดการจาก command prompt ได้ ในการทำเช่นนั้น ใช้คำสั่ง fsutil quota

เพื่อเปิดใช้งาน soft quota สำหรับดิสก์ ให้ใช้คำสั่ง:

fsutil quota track E:

เพื่อเปิดใช้งาน hard NTFS quota ให้รัน:

fsutil quota enforce E:

เพื่อปิดใช้งาน disk quotas อย่างสมบูรณ์ ให้ใช้คำสั่ง:

fsutil quota disable E:

เพื่อดูการตั้งค่า quota ปัจจุบันสำหรับไดรฟ์ที่ระบุ ให้รัน:

fsutil quota query e:

วิธีเปิดใช้งานและกำหนดค่า User Disk Quotas ใน Windows

ดูรายการผู้ใช้ที่เกิน disk quotas ของพวกเขาแล้ว:

fsutil quota violations

เพื่อเปลี่ยน quota thresholds สำหรับผู้ใช้เฉพาะ ให้ใช้คำสั่ง:

fsutil quota modify E: 2000000000 100000000 corp\aabrams

ขนาด Quotas ระบุเป็นไบต์ (2 GB ในตัวอย่างนี้) ค่าแรกคือขนาดสูงสุดของข้อมูลผู้ใช้บนดิสก์ (hard quota) ค่าที่สองคือขีดจำกัดที่การเตือนปรากฏ (warning level)

ดูความถี่ในการอัปเดต disk quotas (ในวินาที):

fsutil behavior query quotanotify

โดยค่าเริ่มต้น quotas จะถูกอัปเดตทุกชั่วโมง

วิธีเปิดใช้งานและกำหนดค่า User Disk Quotas ใน Windows

ไม่มี PowerShell cmdlets ในตัวสำหรับจัดการ NTFS disk quotas อย่างไรก็ตาม พวกเขาสามารถจัดการได้โดยใช้คลาส WMI Win32_DiskQuota ตัวอย่างเช่น สคริปต์ PowerShell ต่อไปนี้จะแสดงข้อมูลเกี่ยวกับ user quotas ปัจจุบัน


$strCom = "."
$colItems = get-wmiobject -class "Win32_DiskQuota" -namespace "root\CIMV2" -computername $strCom
foreach ($objItem in $colItems) {
write-host "Quota usage: " $objItem.DiskSpaceUsed
write-host "Quota Hard Limit: " $objItem.Limit
write-host "Drive: " $objItem.QuotaVolume
write-host "Status: " $objItem.Status
write-host "Username: " $objItem.User
write-host "Quota Warning Limit: " $objItem.WarningLimit
}