วิธีบังคับปิดไฟล์ที่ถูกล็อกบน Windows Server 2022

 ปัญหาไฟล์ถูกล็อก (File Locked) เป็นหนึ่งในปัญหาที่ผู้ดูแลระบบ Windows Server 2022 พบได้บ่อยที่สุด โดยเฉพาะในองค์กรที่มีผู้ใช้งานไฟล์ Excel, Word, PDF หรือไฟล์งานร่วมกันผ่าน File Server

ตัวอย่างเช่น ผู้ใช้งานเปิดไฟล์ Excel ค้างไว้แล้วกลับบ้าน หรือเครื่องคอมพิวเตอร์ดับกะทันหัน ทำให้ไฟล์ยังคงถูกล็อกอยู่บน Server ส่งผลให้ผู้ใช้งานคนอื่นไม่สามารถแก้ไข ลบ หรือย้ายไฟล์ได้

บทความนี้จะอธิบายวิธีตรวจสอบและบังคับปิดไฟล์ที่ถูกล็อกบน Windows Server 2022 อย่างปลอดภัย

ไฟล์ถูกล็อกคืออะไร

เมื่อผู้ใช้งานเปิดไฟล์ผ่าน File Server

ตัวอย่าง

salary.xlsx

ระบบจะสร้าง Session และ File Lock ขึ้นมา

เพื่อป้องกันไม่ให้ผู้ใช้งานหลายคนเขียนข้อมูลพร้อมกันจนเกิดความเสียหาย

แต่หาก Session ไม่ถูกปิดอย่างถูกต้อง

File Lock อาจค้างอยู่

อาการของไฟล์ถูกล็อก

ตัวอย่างข้อความที่พบบ่อย

File is in use
The action can't be completed because the file is open
Another user is currently using this file

หรือ

  • ลบไฟล์ไม่ได้

  • เปลี่ยนชื่อไฟล์ไม่ได้

  • ย้ายไฟล์ไม่ได้

  • แก้ไขไฟล์ไม่ได้

วิธีตรวจสอบไฟล์ที่ถูกล็อก

เปิด

Computer Management

ไปที่

System Tools

Shared Folders

Open Files

จะเห็นรายการไฟล์ที่กำลังถูกใช้งานทั้งหมด

ตัวอย่าง

salary.xlsx
budget.xlsx
report.docx

พร้อมชื่อผู้ใช้งาน

วิธีตรวจสอบด้วย PowerShell

รัน

Get-SmbOpenFile

ผลลัพธ์

FileId
Path
ClientUserName

ตัวอย่าง

salary.xlsx
john

ช่วยให้ตรวจสอบได้รวดเร็วมาก

วิธีค้นหาไฟล์เฉพาะ

ตัวอย่าง

Get-SmbOpenFile | Where-Object {$_.Path -like "*salary*"}

เหมาะสำหรับค้นหาไฟล์ที่มีปัญหาโดยเฉพาะ

วิธีบังคับปิดไฟล์ผ่าน Computer Management

เปิด

Shared Folders

Open Files

คลิกขวาไฟล์ที่ต้องการ

เลือก

Close Open File

ระบบจะตัดการเชื่อมต่อไฟล์นั้นทันที

ข้อควรระวัง

หากผู้ใช้งานกำลังแก้ไขไฟล์อยู่

ข้อมูลที่ยังไม่ได้บันทึกอาจสูญหาย

ดังนั้นควรติดต่อผู้ใช้งานก่อนเสมอ

วิธีบังคับปิดไฟล์ด้วย PowerShell

ดู File ID

Get-SmbOpenFile

ตัวอย่าง

FileId : 1024

ปิดไฟล์

Close-SmbOpenFile -FileId 1024 -Force

ระบบจะปลด Lock ทันที

ปิดไฟล์ทั้งหมดของผู้ใช้งาน

ค้นหา User

Get-SmbOpenFile | Where-Object {$_.ClientUserName -eq "john"}

จากนั้นปิด File ID ที่เกี่ยวข้อง

วิธีดู Session ทั้งหมด

รัน

Get-SmbSession

ผลลัพธ์

ClientUserName
ClientComputerName
NumOpens

ช่วยวิเคราะห์ปัญหาได้ง่ายขึ้น

วิธีปิด Session ทั้งหมดของผู้ใช้

ตัวอย่าง

Close-SmbSession -SessionId 5

ใช้เมื่อมี Session ค้างจำนวนมาก

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

ปิดไฟล์แล้วกลับมาล็อกอีก

ตรวจสอบ

  • โปรแกรม Antivirus

  • Backup Software

  • User ยังเปิดไฟล์อยู่

ไฟล์ไม่แสดงใน Open Files

ตรวจสอบ

Get-SmbOpenFile

ซึ่งมักจะแสดงข้อมูลได้ครบกว่า

ปิดไฟล์ไม่ได้

ตรวจสอบสิทธิ์

Administrator

หรือ

Domain Admin

วิธีป้องกันไฟล์ถูกล็อกบ่อย

① ใช้ Auto Save

② ใช้ Microsoft 365 Collaboration

③ ปิดไฟล์หลังใช้งาน

④ อัปเดต Office

⑤ ตรวจสอบ Session ค้าง

⑥ ใช้ Shadow Copy

⑦ สำรองข้อมูลสม่ำเสมอ

ทีมงาน comsiam พบว่าปัญหาไฟล์ถูกล็อกจำนวนมากเกิดจากเครื่อง Client ปิดไม่สมบูรณ์หรือเครือข่ายหลุดระหว่างใช้งาน ดังนั้นการตรวจสอบ SMB Session เป็นประจำจะช่วยลดปัญหาได้มาก

เปิด Audit Log เพื่อตรวจสอบย้อนหลัง

เปิด

Audit Object Access

จะสามารถตรวจสอบได้ว่า

  • ใครเปิดไฟล์

  • ใครแก้ไขไฟล์

  • ใครลบไฟล์

ช่วยวิเคราะห์ปัญหาได้ดียิ่งขึ้น

Best Practices สำหรับ Windows Server 2022

  • ใช้ Get-SmbOpenFile เป็นหลัก

  • แจ้งผู้ใช้งานก่อนปิดไฟล์

  • ใช้ PowerShell แทน GUI เมื่อมีผู้ใช้จำนวนมาก

  • เปิด Audit Log

  • เปิด Shadow Copy

  • ตรวจสอบ Session ค้างทุกสัปดาห์

  • สำรองข้อมูลทุกวัน

ทีมงาน comsiam แนะนำให้ผู้ดูแลระบบฝึกใช้ PowerShell ในการจัดการ File Lock เพราะรวดเร็วและเหมาะกับองค์กรขนาดกลางและขนาดใหญ่

สรุป

การบังคับปิดไฟล์ที่ถูกล็อกบน Windows Server 2022 เป็นทักษะสำคัญสำหรับผู้ดูแลระบบ File Server เพราะช่วยแก้ปัญหาไฟล์เปิดค้าง แก้ไขไม่ได้ หรือลบไม่ได้ได้อย่างรวดเร็ว

การใช้ Get-SmbOpenFile, Close-SmbOpenFile และการตรวจสอบ SMB Session อย่างสม่ำเสมอ จะช่วยให้ระบบ File Server ทำงานได้อย่างราบรื่นและลดเวลาหยุดชะงักของผู้ใช้งานในองค์กร

Popular posts from this blog

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

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

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