Windows 8/10/11 中,系統資料夾(如 C:\Windows\System32、C:\Program Files\WindowsApps)預設僅授予 TrustedInstaller 完全控制,管理員嘗試修改、刪除時常遇到「拒絕存取」。本文提供兩個 .reg 登錄檔,匯入後在右鍵選單新增「取得管理員權限」與「還原原始權限」,一鍵完成 takeown + icacls 複雜指令操作。
TakeOwnership.reg 與 RestorePermissions.reg(編碼請選 ANSI 或 UTF-16 LE)。Windows Registry Editor Version 5.00
; 取得檔案/資料夾修改權限
[HKEY_CLASSES_ROOT\*\shell\runas]
@="管理員權限"
"Icon"="C:\\Windows\\System32\\imageres.dll,102"
"NoWorkingDirectory"=""
[HKEY_CLASSES_ROOT\*\shell\runas\command]
@="cmd.exe /c takeown /f \"%1\" && icacls \"%1\" /grant administrators:F"
"IsolatedCommand"="cmd.exe /c takeown /f \"%1\" && icacls \"%1\" /grant administrators:F"
[HKEY_CLASSES_ROOT\exefile\shell\runas2]
@="管理員權限"
"Icon"="C:\\Windows\\System32\\imageres.dll,102"
"NoWorkingDirectory"=""
[HKEY_CLASSES_ROOT\exefile\shell\runas2\command]
@="cmd.exe /c takeown /f \"%1\" && icacls \"%1\" /grant administrators:F"
"IsolatedCommand"="cmd.exe /c takeown /f \"%1\" && icacls \"%1\" /grant administrators:F"
[HKEY_CLASSES_ROOT\Directory\shell\runas]
@="管理員權限"
"Icon"="C:\\Windows\\System32\\imageres.dll,102"
"NoWorkingDirectory"=""
[HKEY_CLASSES_ROOT\Directory\shell\runas\command]
@="cmd.exe /c takeown /f \"%1\" /r /d y && icacls \"%1\" /grant administrators:F /t"
"IsolatedCommand"="cmd.exe /c takeown /f \"%1\" /r /d y && icacls \"%1\" /grant administrators:F /t"
Windows Registry Editor Version 5.00
; 還原原始權限
[HKEY_CLASSES_ROOT\*\shell\runas-]
@="還原原始權限"
"Icon"="C:\\Windows\\System32\\imageres.dll,101"
"NoWorkingDirectory"=""
[HKEY_CLASSES_ROOT\*\shell\runas-\command]
@="cmd.exe /c takeown /f \"%1\" && icacls \"%1\" /reset && cacls \"%1\" /e /r \"%USERNAME%\""
"IsolatedCommand"="cmd.exe /c takeown /f \"%1\" && icacls \"%1\" /reset && cacls \"%1\" /e /r \"%USERNAME%\""
[HKEY_CLASSES_ROOT\exefile\shell\runas2-]
@="還原原始權限"
"Icon"="C:\\Windows\\System32\\imageres.dll,101"
"NoWorkingDirectory"=""
[HKEY_CLASSES_ROOT\exefile\shell\runas2-\command]
@="cmd.exe /c takeown /f \"%1\" && icacls \"%1\" /reset && cacls \"%1\" /e /r \"%USERNAME%\""
"IsolatedCommand"="cmd.exe /c takeown /f \"%1\" && icacls \"%1\" /reset && cacls \"%1\" /e /r \"%USERNAME%\""
[HKEY_CLASSES_ROOT\Directory\shell\runas-]
@="還原原始權限"
"Icon"="C:\\Windows\\System32\\imageres.dll,101"
"NoWorkingDirectory"=""
[HKEY_CLASSES_ROOT\Directory\shell\runas-\command]
@="cmd.exe /c takeown /f \"%1\" /r /d y && icacls \"%1\" /reset /t && cacls \"%1\" /e /r \"%USERNAME%\""
"IsolatedCommand"="cmd.exe /c takeown /f \"%1\" /r /d y && icacls \"%1\" /reset /t && cacls \"%1\" /e /r \"%USERNAME%\""
| 指令 | 功能 |
|---|---|
takeown /f \"%1\" | 取得檔案/資料夾擁有權 |
/r | 遞迴處理子目錄 |
/d y | 遇到「拒絕存取」自動回答 Yes 繼續 |
icacls \"%1\" /grant administrators:F | 授予 Administrators 群組完全控制 (F) |
/t | 遞迴套用至子物件 |
icacls \"%1\" /reset | 重設 ACL 為繼承預設值 |
cacls \"%1\" /e /r \"%USERNAME%\" | 移除目前使用者的顯式 ACE(避免殘留拒絕規則) |
若不再需要,執行以下指令(管理員 CMD)即可移除:
reg delete "HKEY_CLASSES_ROOT\*\shell\runas" /f
reg delete "HKEY_CLASSES_ROOT\*\shell\runas-" /f
reg delete "HKEY_CLASSES_ROOT\exefile\shell\runas2" /f
reg delete "HKEY_CLASSES_ROOT\exefile\shell\runas2-" /f
reg delete "HKEY_CLASSES_ROOT\Directory\shell\runas" /f
reg delete "HKEY_CLASSES_ROOT\Directory\shell\runas-" /f
icacls 進行精細控制,更安全可控。