นี่เป็นวิธีง่ายๆที่ฉันเคยใช้ใน Windows 7 ถึง Windows 10 โดยทั่วไปฉันใช้คำสั่ง "IF EXIST" เพื่อตรวจสอบโฟลเดอร์ Windows \ System32 \ WDI \ LogFiles โฟลเดอร์ WDI มีอยู่ในทุกการติดตั้ง Windows ตั้งแต่อย่างน้อย 7 เป็นต้นไปและต้องมีสิทธิ์ของผู้ดูแลระบบในการเข้าถึง โฟลเดอร์ WDI จะมีโฟลเดอร์ LogFiles อยู่ข้างในเสมอ ดังนั้นการเรียกใช้ "IF EXIST" ในโฟลเดอร์ WDI \ LogFiles จะคืนค่าจริงหากรันในฐานะผู้ดูแลระบบและเป็นเท็จหากไม่ได้เรียกใช้ในฐานะผู้ดูแลระบบ สิ่งนี้สามารถใช้ในไฟล์แบตช์เพื่อตรวจสอบระดับสิทธิ์และขยายสาขาไปยังคำสั่งใดก็ได้ที่คุณต้องการตามผลลัพธ์นั้น
นี่คือตัวอย่างโค้ดสั้น ๆ :
IF EXIST %SYSTEMROOT%\SYSTEM32\WDI\LOGFILES GOTO GOTADMIN
(Commands for running with normal privileges)
:GOTADMIN
(Commands for running with admin privileges)
โปรดทราบว่าวิธีนี้ถือว่าสิทธิ์การรักษาความปลอดภัยเริ่มต้นไม่ได้ถูกแก้ไขในโฟลเดอร์ WDI (ซึ่งไม่น่าจะเกิดขึ้นในสถานการณ์ส่วนใหญ่ แต่โปรดดูข้อแม้ # 2 ด้านล่าง) แม้ว่าในกรณีนั้นจะเป็นเพียงเรื่องของการแก้ไขโค้ดเพื่อตรวจสอบไฟล์ / โฟลเดอร์ทั่วไปอื่นที่ต้องการการเข้าถึงของผู้ดูแลระบบ (System32 \ config \ SAM อาจเป็นตัวเลือกอื่นที่ดี) หรือคุณสามารถสร้างของคุณเองโดยเฉพาะสำหรับสิ่งนั้น วัตถุประสงค์.
มีข้อแม้สองประการเกี่ยวกับวิธีนี้:
การปิดใช้งาน UAC มีแนวโน้มที่จะทำลายความจริงง่ายๆที่ว่าทุกอย่างจะถูกเรียกใช้ในฐานะผู้ดูแลระบบ
การพยายามเปิดโฟลเดอร์ WDI ใน Windows Explorer จากนั้นคลิก "ดำเนินการต่อ" เมื่อได้รับแจ้งจะเป็นการเพิ่มสิทธิ์การเข้าถึงถาวรสำหรับบัญชีผู้ใช้นั้นซึ่งจะทำลายวิธีการของฉัน หากสิ่งนี้เกิดขึ้นสามารถแก้ไขได้โดยการลบบัญชีผู้ใช้ออกจากสิทธิ์การรักษาความปลอดภัยของโฟลเดอร์ WDI หากด้วยเหตุผลใดก็ตามผู้ใช้ต้องสามารถเข้าถึงโฟลเดอร์ WDI ด้วย Windows Explorer ได้คุณจะต้องแก้ไขรหัสเพื่อตรวจสอบโฟลเดอร์อื่น (ดังที่กล่าวไว้ข้างต้นการสร้างของคุณเองโดยเฉพาะเพื่อจุดประสงค์นี้อาจเป็นทางเลือกที่ดี) .
ดังนั้นเป็นที่ยอมรับว่าวิธีการของฉันไม่สมบูรณ์แบบเนื่องจากอาจเสียได้ แต่เป็นวิธีที่ค่อนข้างรวดเร็วที่ใช้งานง่ายเข้ากันได้กับ Windows 7, 8 และ 10 ทุกเวอร์ชันและหากฉันคำนึงถึงข้อควรระวังที่กล่าวถึง ได้ผล 100% สำหรับฉัน
echo > somefile
ในไดเร็กทอรีที่ต้องการสิทธิ์ผู้ดูแลระบบ มันจะสร้างไฟล์เป็นผลข้างเคียง แต่คุณสามารถตรวจสอบการชนกันและสร้างชื่อไฟล์ที่ไม่ซ้ำกันเพื่อเป็นวิธีแก้ปัญหา