โดยทั่วไปแล้ว ถ้าหากคุณพยายามทำการเปลี่ยนชื่อหรือลบไฟล์ที่ถูกป้องกันโดยระบบ (System protected) การทำงานจะล้มเหลวโดยได้รับการแจ้งเตือน File Access Denied การแก้ไขปัญหานี้คือต้องทำการเปลี่ยนเจ้าของ (Take Ownership) และตั้งค่าสิทธิ์ (Permission) ไฟล์เป็น Full Control ตามวิธีการด้านล่างครับ
ดังรูปด้านล่าง เป็นตัวอย่างการแจ้งเตือน File Access Denied ซึ่งพยายามทำการเปลี่ยนชื่อไฟล์ Microsoft-Windows-Geolocation-WLPAdm.admx ซึ่งเป็นไฟล์แม่แบบการบริหาร (Administrative Template) ของ Windows 10
File Access Denied
การเปลี่ยนเจ้าของและกำหนดสิทธิ์ไฟล์หรือโฟลเดอร์บน Windows 7, 8, 8.1 และ 10 นั้นทำได้ทั้งแบบกราฟิก (GUI) และแบบบรรทัดคำสั่ง (Command-line)
วิธีการเปลี่ยนเจ้าของและตั้งค่าสิทธิ์ไฟล์หรือโฟลเดอร์บน Windows แบบกราฟิกทำได้โดยใช้ File Explorer ตามขั้นตอนดังนี้
1. บนหน้าต่าง File Explorer คลิกขวาบนไฟล์หรือโฟลเดอร์ที่ต้องการแล้วเลือก Properties
Properties
2. บนหน้า Properties ให้คลิกแท็บ Security จากนั้นคลิก Advanced
Advanced
3. บนหน้า Advanced Security Settings ให้คลิก Change (ด้านขวาของ TrustedInstaller)
Advanced Security Settings
4. บนหน้า Select User or Group ให้ป้อนชื่อผู้ใช้ที่ต้องการในช่อง Enter the object name to select แล้วคลิก Check Names เพื่อให้ระบบตรวจสอบและแปลงชื่อผู้ใช้เป็นฟอร์แมตที่ถูกต้อง เสร็จแล้วคลิก OK
Select User or Group
5. บนหน้า Advanced Security Settings ให้คลิก OK
6. บนหน้า Properties คลิก Edit
Properties
7. บนหน้า Permissions ถ้าไม่มีผู้ใช้หรือกลุ่มผู้ใช้ที่ต้องการใน Group or user names ที่ต้องการ ให้คลิก Add [ถ้าหากมีผู้ใช้หรือกลุ่มที่ต้องการให้ข้ามไปทำข้อ 8]
Permissions
บนหน้า Select Users or Groups ให้ป้อนชื่อผู้ใช้ที่ต้องการในช่อง Enter the object name to select แล้วคลิก Check Names เพื่อให้ระบบตรวจสอบและแปลงชื่อผู้ใช้เป็นฟอร์แมตที่ถูกต้อง เสร็จแล้วคลิก OK
Select Users or Group
8. บนหน้า Permissions ให้คลิกเลือกชื่อผู้ใช้หรือกลุ่มที่ต้องการกำหนดสิทธิ์ จากในช่อง Group or user names: จากนั้นติ๊กเลือกสิทธิ์ที่ต้องการมอบให้ผู้ใช้จากคอลัมน์ Allow ในช่อง Permission เช่น Full Control เสร็จแล้วคลิก OK
Permissions
หมายเหตุ: เลือก Deny ถ้าหากไม่ต้องให้ผู้ใช้มีสิทธิ์ในหัวข้อที่เลือก
9. คลิก Yes บนหน้า Windows Security
Windows Security
10. บนหน้า Properties ให้คลิก OK
วิธีการเปลี่ยนเจ้าของและกำหนดสิทธิ์ไฟล์หรือโฟลเดอร์บน Windows แบบบรรทัดคำสั่งทำได้โดยใช้คำสั่ง Takeown.exe และ Icacls.exe ตามขั้นตอนดังนี้
1. คลิกขวาบนปุ่ม Start หรือกดปุ่ม Windows + X จากนั้นคลิก Command Prompt (Admin) แล้วคลิก Yes บนหน้า User Account Control (ถ้ามี)
2. ทำการรันคำสั่งด้านล่างเพื่อ Take Ownership ไฟล์จาก TrustedInstaller เป็นกลุ่มผู้ดูแลระบบ (Administrators)
Takeown /F “C:\Windows\PolicyDefinitions\LocationProviderAdm.admx” /A
Command Prompt
3. ทำการรันคำสั่งด้านล่างเพื่อให้สิทธิ์ Full Control แก่ผู้ใช้ชื่อ user1
Icacls “C:\Windows\PolicyDefinitions\LocationProviderAdm.admx” /grant user1:(f)
สรุป
การเปลี่ยนเจ้าของและกำหนดสิทธิ์ไฟล์หรือโฟลเดอร์บน Windows สามารถทำได้ในแบบกราฟิกโดยใช้ File Explorer และแบบบรรทัดคำสั่งโดยใช้คำสั่ง Takeown และ Icacls ทั้งแบบกราฟิกและแบบบรรทัด ซึ่งการใช้บรรทัดคำสั่งนั้นมีขั้นตอนน้อยกว่าการทำแบบกราฟิกแต่ทั้ง 2 วิธีทำงานได้ดีไม่มีปัญหา ดังนั้นสามารถเลือกใช้วิธีใดก็ได้แล้วแต่ความชอบและถนัดครับ
ข้อมูลอ้างอิง
Icacls
Takeown
Setting Permissions from the Command Line