命令行永久获取文件夹的访问权限

命令行永久获取文件夹的访问权限

更新 虽然我能够使用接受答案中描述的方法,但第二次失败或只是带来了太多麻烦。

进一步搜索我发现设置ACL由 Helge Klein 编写,质量更高,完全满足需要。


我无法访问某些文件夹,例如c:\Program Files\WindowsApps。通过命令行我收到错误“访问被拒绝“并通过 Windows 资源管理器弹出一个对话框,提示“您目前无权访问此文件夹

在此处输入图片描述

点击继续授予我访问权限,但我想使用命令行授予自己访问权限;以便我的脚本在相同安全上下文下运行时不会遇到此问题。

我发现在 Microsoft Technet 上提问,但我无法让它工作。请注意,我已经以管理员身份运行 Powershell。

PS C:\WINDOWS\system32> icacls "C:\Program Files\WindowsApps" /grant i063510:F /inheritance:e
C:\Program Files\WindowsApps: Access is denied.
Successfully processed 0 files; Failed processing 1 files
PS C:\WINDOWS\system32> icacls "C:\Program Files" /grant i063510:F /inheritance:e
C:\Program Files: Access is denied.
Successfully processed 0 files; Failed processing 1 files

如果重要的话,我正在使用Windows 10 从 Windows 8.1 升级

答案1

您目前无权访问此文件夹

尝试加拿大临床神经外科学会和/或夺回根据需要使用以下语法对文件夹和用户名进行操作。

尝试一下首先执行 ICACLS 命令,如果不能解决, 跑过TAKEOWN 命令,然后运行 ​​ICACLS 命令再次。


加拿大临床神经外科学会命令

  • 向所有子文件夹和文件授予对此文件夹的明确完全控制访问权限,保留所有继承的权限并在出现错误时继续

    ICACLS "<FolderPath>" /INHERITANCE:e /GRANT:r <UserName>:(F) /T /C
    
  • 向所有子文件夹和文件授予对此文件夹的明确修改访问权限,保留所有继承的权限,并在出现错误时继续

    ICACLS "<FolderPath>" /INHERITANCE:e /GRANT:r "<UserName>":(M) /T /C
    
  • 更改此文件夹及其下所有子文件夹和文件的所有者,并在出现错误时继续

    ICACLS "<FolderPath>" /SETOWNER "<UserName>" /T /C
    

夺回命令

  • 以您要授予所有权的帐户身份运行此程序,它将更改为文件夹及其下的所有内容和子文件夹和文件的所有者

    TAKEOWN /F "<FolderPath>" /R /D Y
    

相关内容