错误代码0x80070005表示“拒绝访问”,主因是用户缺乏文件夹所有权或NTFS权限;解决方法包括:一、用takeown /f "路径" /r /d y强制接管所有权;二、用icacls "路径" /grant "%username%":(F) /t /c /q授完全控制权;三、对系统目录如%windir%\WinSxS执行icacls /reset重置继承权限;四、必要时修复注册表对应文件权限并重启相关服务。
如果您在操作文件夹时遇到“错误代码 0x80070005”,系统提示“拒绝访问”,这通常表明当前用户对目标文件夹缺乏所有权或必要的ntfs权限。以下是利用命令行直接获取文件夹所有权并修复权限的实操方法:
一、使用takeown命令强制接管文件夹所有权
当图形界面中“高级”按钮呈灰色、所有者信息不可见或常规方式无法修改时,takeown可绕过现有权限限制,强制将目标文件夹及其全部子项的所有权转移至当前用户。
1、以管理员身份运行命令提示符(CMD)或Windows PowerShell。
2、输入以下命令并回车(请将D:\MyFolder替换为实际路径):
takeown /f "D:\MyFolder" /r /d y
3、若路径含空格或特殊字符,请确保整个路径用英文双引号包裹。
4、命令执行完成后,所有权已变更,但尚未授予权限,需配合icacls使用。
二、使用icacls命令授予完全控制权限
icacls是Windows内置的权限管理工具,可在接管所有权后,为当前用户或指定账户批量授予对文件夹及所有子项的完全控制权,覆盖损坏或缺失的NTFS权限设置。
1、在同一个管理员命令行窗口中,执行以下命令(路径需与上一步一致):
icacls "D:\MyFolder" /grant "%username%":(F) /t /c /q
2、如需同时授权给系统内置的Everyone组(仅限离线可信环境),追加执行:
icacls "D:\MyFolder" /grant Everyone:(F) /t /c /q
3、命令末尾的/t表示递归应用至全部子目录和文件,/c忽略访问被拒项,/q启用静默模式。
三、重置组件存储权限以修复系统级0x80070005
当错误出现在Windows更新、激活或系统服务调用场景(如slmgr /ato失败、SLUI.exe报错),问题根源常指向%windir%\winsxs或%windir%\SoftwareDistribution等系统关键目录权限异常,此时需重置其默认继承权限结构。
1、以管理员身份运行命令提示符。
2、执行以下命令重置Windows组件存储权限:
icacls "%windir%\winsxs" /reset /t /c /q
3、如更新失败仍存在,同步重置软件分发目录:
icacls "%windir%\SoftwareDistribution" /reset /t /c /q
4、命令执行完毕后,无需重启即可尝试重新运行原操作。
四、通过icacls修复注册表相关服务权限
某些0x80070005错误由即插即用(Plug and Play)服务或DCOM组件所需注册表路径权限缺失引发,例如HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList\S-1-5-20被锁定。icacls虽不直接操作注册表,但可修复其对应文件系统元数据权限,辅助恢复服务访问能力。
1、确认该注册表路径对应的物理存储位置通常位于%windir%\System32\config\SOFTWARE文件。
2、以管理员身份运行命令提示符,执行:
icacls "%windir%\System32\config\SOFTWARE" /grant "NT AUTHORITY\NetworkService":(R) /t /c /q
3、若需增强兼容性,可额外添加SYSTEM账户读取权限:
icacls "%windir%\System32\config\SOFTWARE" /grant "NT AUTHORITY\SYSTEM":(R) /t /c /q
4、权限更新后,重启即插即用服务:net stop plugplay && net start plugplay。

















