Windows 11 中 DLL 删除失败主因是 NT SERVICE\TrustedInstaller 占有所有权,可通过图形界面改所有权、takeown+icacls 命令、启用内置 Administrator 账户、PowerShell Set-Acl 或 PsExec 提权五种方法强制解除限制并删除。

如果您在 Windows 11 中尝试删除某个 DLL 文件(如位于 System32、WinSxS 或第三方安装目录中的 .dll)时反复提示“权限不足”“拒绝访问”或“需要管理员权限”,则很可能是该 DLL 所属文件夹的所有权被锁定为 NT SERVICE\TrustedInstaller 或 NT AUTHORITY\SYSTEM,且当前账户未被授予完全控制权限。NTFS 权限机制会阻止任何未显式授权的写入或删除操作。以下是多种可立即执行的强力夺取文件夹最高所有权并解除删除限制的解决方案:
一、通过图形界面强制夺取文件夹所有权并递归赋予权限
该方法直接调用 Windows 安全子系统修改所有者字段与 ACL 列表,不依赖命令行环境,适用于单个 DLL 所在文件夹(如 C:\Windows\System32\drivers),且支持实时预览权限变更效果。核心是将所有权转移至当前用户,并禁用继承策略以清除 TrustedInstaller 的残留权限干扰。
1、右键点击包含目标 DLL 的父级文件夹(非单个 DLL 文件本身),选择【属性】。
2、切换至【安全】选项卡,点击右下角的【高级】按钮。
3、在“高级安全设置”窗口中,点击【所有者】字段右侧的【更改】链接。
4、在“输入要选择的对象名称”框中输入您的完整用户名(例如 DESKTOP-ABC\John 或 Administrators),点击【检查名称】确认后点【确定】。
5、勾选【替换子容器和对象的所有者】,确保所有权变更应用至该文件夹内全部嵌套项(含目标 DLL)。
6、点击【应用】,等待系统完成递归所有权重置;返回后点击【确定】关闭窗口。
7、再次进入【属性】→【安全】→【编辑】→【添加】,输入相同用户名并确认。
8、在新添加的权限条目中,勾选【完全控制】,并勾选【替换所有子对象的权限项】,最后点击【确定】。
二、使用管理员终端执行 takeown 与 icacls 命令批量接管
该方法绕过图形界面渲染与权限缓存,在内核层调用 SeTakeOwnershipPrivilege 特权,可穿透 TrustedInstaller 锁定,适用于路径含空格、Unicode 字符或深层嵌套的系统文件夹(如 C:\Windows\WinSxS\...),且支持静默批量处理。
1、按下 Win + X,选择【Windows 终端(管理员)】;UAC 提示时点击【是】。
2、输入以下命令(将 C:\Path\To\Folder 替换为 DLL 所在文件夹的完整路径),每行单独执行并回车:
takeown /f "C:\Path\To\Folder" /r /d y
3、执行完成后,输入以下命令授予 Administrators 组完全控制权限:
icacls "C:\Path\To\Folder" /grant administrators:F /t /c /q
4、确认命令无报错后,关闭终端,即可在资源管理器中删除该文件夹或其中的 DLL 文件。
三、启用内置 Administrator 账户并以 SYSTEM 级别登录操作
内置 Administrator 账户拥有不受 UAC 限制的高完整性令牌,可绕过标准管理员账户所受的虚拟化与权限沙箱拦截,是唯一能无条件访问并修改 TrustedInstaller 拥有对象的稳定入口,适用于其他方法均失败的顽固 DLL。
让 Windows 桌面程序在开机时静默自启并隐藏到系统托盘。特别适用于 Flutter、Electron 等无视 VBS/ProcessStartInfo 窗口样式、难以隐藏的顽固应用。提供「VBS 启动器 + Python ctypes/Win32 API」的隐藏窗口方案,可稳定把窗口收进托盘且不闪控制台。
1、以管理员身份运行命令提示符:按 Win + R,输入 cmd,右键搜索结果中的“命令提示符”→【以管理员身份运行】。
2、输入命令:net user administrator /active:yes,回车执行。
3、输入命令:net user administrator *,回车后按提示设置密码(如留空则无需密码)。
4、注销当前账户,在登录界面选择 Administrator 用户登录。
5、打开文件资源管理器,导航至 DLL 所在路径,直接执行删除操作。
四、使用 PowerShell 调用 Set-Acl 强制重置 ACL 链
PowerShell 提供对 NTFS 安全描述符的底层对象级控制能力,可精确重建 DACL 并清除受保护的 ACE 条目(如 TrustedInstaller 的 DENY 规则),适用于 ACL 污染严重或存在隐式拒绝策略的场景。
1、按下 Win + X,选择【Windows 终端(管理员)】。
2、输入以下命令(将 C:\Path\To\Folder 替换为实际路径),每行单独执行:
$Acl = Get-Acl "C:\Path\To\Folder"
$Ar = New-Object System.Security.AccessControl.FileSystemAccessRule("Administrators","FullControl","ContainerInherit,ObjectInherit","None","Allow")
$Acl.SetAccessRule($Ar)
$Acl | Set-Acl "C:\Path\To\Folder"
3、执行完毕后,立即尝试删除目标 DLL 或其所在文件夹。
五、借助 PsExec 启动 SYSTEM 权限进程直接操作
PsExec 是 Microsoft Sysinternals 官方工具,可将任意进程提升至本地 SYSTEM 账户上下文运行,获得比 Administrator 更高的令牌完整性级别,适用于 DLL 被注册为服务组件或深度绑定到 LSASS 进程的情形。
1、从微软官网下载 PsExec 工具,解压至 C:\Sysinternals\psexec.exe。
2、以管理员身份运行终端,输入:
C:\Sysinternals\psexec.exe -i -s -d cmd.exe
3、新弹出的 CMD 窗口即运行于 SYSTEM 上下文,输入:
del /f /q "C:\Path\To\Target.dll"
4、若需删除整个文件夹,输入:
rmdir /s /q "C:\Path\To\Folder"










