วิธีตรวจสอบว่าใครเปิดไฟล์อยู่บน Windows Server 2022
หนึ่งในปัญหาที่ผู้ดูแลระบบ Windows Server 2022 พบเป็นประจำคือ ผู้ใช้งานแจ้งว่าไม่สามารถแก้ไขไฟล์ได้ เพราะมีคนอื่นเปิดไฟล์ค้างอยู่ หรือมีไฟล์ถูกล็อกโดยไม่ทราบว่าใครกำลังใช้งาน
การตรวจสอบว่าใครเปิดไฟล์อยู่บน File Server เป็นทักษะสำคัญของผู้ดูแลระบบ เพราะช่วยแก้ปัญหาไฟล์ถูกล็อก ลดเวลาหยุดชะงักในการทำงาน และช่วยวิเคราะห์ปัญหาการเข้าถึงข้อมูลในองค์กรได้อย่างรวดเร็ว
บทความนี้จะอธิบายทุกวิธีในการตรวจสอบผู้ใช้งานไฟล์บน Windows Server 2022
ทำไมต้องตรวจสอบว่าใครเปิดไฟล์อยู่
ตัวอย่างปัญหาที่พบบ่อย
แก้ไขไฟล์ Excel ไม่ได้
ลบไฟล์ไม่ได้
เปลี่ยนชื่อไฟล์ไม่ได้
ย้ายไฟล์ไม่ได้
ไฟล์ถูกล็อกตลอดเวลา
สาเหตุส่วนใหญ่มาจากมีผู้ใช้งานเปิดไฟล์อยู่บน File Server
วิธีที่ 1 ตรวจสอบผ่าน Computer Management
วิธีนี้ง่ายที่สุด
เปิด
Computer Management
เลือก
System Tools
↓
Shared Folders
↓
Open Files
จะปรากฏรายการไฟล์ที่กำลังถูกเปิดใช้งาน
ตัวอย่าง
budget.xlsx
salary.xlsx
report.docx
พร้อมแสดง
User Name
Access Mode
Open Time
ข้อมูลที่สามารถดูได้
ตัวอย่าง
File Name
User
Open Mode
Locks
ช่วยให้ทราบได้ทันทีว่าใครกำลังใช้งานไฟล์
วิธีที่ 2 ตรวจสอบผ่าน Server Manager
เปิด
Server Manager
จากนั้นเปิด
Computer Management
และเข้าหน้า
Open Files
เช่นเดียวกัน
วิธีที่ 3 ใช้ Command Prompt
เปิด Command Prompt แบบ Administrator
รัน
openfiles /query
ตัวอย่างผลลัพธ์
ID
Accessed By
Open File
แสดงรายการไฟล์ที่กำลังใช้งาน
เปิดฟังก์ชัน OpenFiles
หากคำสั่งไม่ทำงาน
เปิดใช้งานก่อน
openfiles /local on
จากนั้น
Restart Server
หนึ่งครั้ง
วิธีที่ 4 ใช้ PowerShell
แสดง SMB Session
Get-SmbSession
ผลลัพธ์
ClientComputerName
ClientUserName
NumOpens
ช่วยดูว่ามีผู้ใช้ใดเชื่อมต่อกับ File Server อยู่
ดูไฟล์ที่กำลังเปิด
รัน
Get-SmbOpenFile
ผลลัพธ์
FileId
Path
ClientUserName
ตัวอย่าง
salary.xlsx
john
budget.xlsx
mary
สามารถตรวจสอบได้ละเอียดกว่าวิธีอื่น
วิธีค้นหาไฟล์เฉพาะ
ตัวอย่าง
Get-SmbOpenFile | Where-Object {$_.Path -like "*salary*"}
ช่วยค้นหาไฟล์ที่ต้องการได้อย่างรวดเร็ว
วิธีดูว่าใครเปิดไฟล์ Excel อยู่
รัน
Get-SmbOpenFile | Where-Object {$_.Path -like "*.xlsx"}
เหมาะสำหรับองค์กรที่ใช้ Excel ร่วมกันจำนวนมาก
ดู Session ทั้งหมดบน File Server
รัน
Get-SmbSession
จะแสดง
User Name
Computer Name
จำนวนไฟล์ที่เปิด
ช่วยวิเคราะห์ปัญหาได้ดีมาก
ใช้ Event Viewer ตรวจสอบย้อนหลัง
เปิด
Event Viewer
ไปที่
Security Log
หากเปิด Audit File Access ไว้
จะสามารถดูได้ว่า
ใครเปิดไฟล์
เมื่อใด
จากเครื่องใด
ทีมงาน comsiam มักเปิด Audit Log บน File Server ที่มีข้อมูลสำคัญ เพื่อใช้ตรวจสอบย้อนหลังเมื่อเกิดปัญหา
วิธีตรวจสอบไฟล์ที่ถูกล็อก
รัน
Get-SmbOpenFile
ดูค่า
Locks
หากมี Lock อยู่
แสดงว่ามีผู้ใช้งานไฟล์นั้นอยู่
วิธีตรวจสอบจาก Shared Folders
เปิด
Shared Folders
↓
Open Files
จะเห็นจำนวน Lock ทั้งหมดทันที
ปัญหาที่พบบ่อย
ผู้ใช้บอกว่าเปิดไฟล์ไม่ได้
ตรวจสอบ
Get-SmbOpenFile
ก่อนเสมอ
ลบไฟล์ไม่ได้
มักมี User เปิดไฟล์ค้างอยู่
เปลี่ยนชื่อไฟล์ไม่ได้
ตรวจสอบ
Open Files
ว่ามี Session ค้างหรือไม่
แนวทางความปลอดภัยที่แนะนำ
① เปิด Audit Log
② เปิด Shadow Copy
③ ใช้ Security Group
④ จำกัดสิทธิ์ Modify
⑤ สำรองข้อมูลทุกวัน
⑥ ตรวจสอบ Session ผิดปกติ
⑦ ตรวจสอบ Open File เป็นประจำ
ทีมงาน comsiam แนะนำให้ผู้ดูแลระบบเรียนรู้การใช้ Get-SmbOpenFile และ Get-SmbSession เพราะเป็นเครื่องมือที่ช่วยแก้ปัญหา File Server ได้รวดเร็วที่สุด
Best Practices สำหรับ Windows Server 2022
ใช้ PowerShell เป็นหลัก
เปิด Audit Log
เปิด Shadow Copy
ตรวจสอบ Session เป็นประจำ
ตรวจสอบไฟล์ที่ถูกล็อก
สำรองข้อมูลทุกวัน
ใช้ Access-Based Enumeration
สรุป
Windows Server 2022 มีหลายวิธีในการตรวจสอบว่าใครกำลังเปิดไฟล์อยู่ ไม่ว่าจะเป็น Computer Management, PowerShell หรือ Event Viewer โดย PowerShell ถือเป็นวิธีที่รวดเร็วและละเอียดที่สุด
การตรวจสอบไฟล์ที่ถูกเปิดอยู่เป็นประจำจะช่วยลดปัญหาไฟล์ถูกล็อก แก้ไขไม่ได้ และช่วยให้ผู้ดูแลระบบสามารถบริหารจัดการ File Server ได้อย่างมีประสิทธิภาพมากขึ้นในระยะยาว