如何使用Windows命令行授予用户对目录的权限(读、写、修改)?


当前回答

我无法打开驱动器中的任何文件,这个命令解锁了所有-

icacls i:\* /grant Users:F /t /q /c

其他回答

我为此挣扎了一段时间,只有结合这个帖子中的答案对我有效(在Windows 10上): 1. 打开cmd或PowerShell,进入有文件的文件夹 2. takeown /R /F 3.icacls * /T /grant dan:F

好运!

这对我来说很管用:

手动打开被拒绝访问的文件夹。 在该文件夹中选择可执行/应用程序文件。 右键点击属性->兼容性 现在查看特权级别,并检查它是否为以管理员身份运行 为所有用户单击Change Settings。

现在问题解决了。

批量文件夹创建和授予权限的工作我使用下面的powershell脚本。

Import-Csv "D:\Scripts\foldernames.csv" | foreach-object {
    $username = $_.foldername 

    # foldername is the header of csv file

    $domain = “example.com”

    $folder= "D:\Users"

    $domainusername = $domain+“\”+$username

    New-Item $folder\$username –Type Directory

    Get-Acl $folder\$username  

    $acl = Get-Acl $folder\$username

    $acl.SetAccessRuleProtection($True, $False)

    $rule = New-Object System.Security.AccessControl.FileSystemAccessRule("Administrators","FullControl", "ContainerInherit, ObjectInherit", "None", "Allow")
    $acl.AddAccessRule($rule)

    $rule = New-Object System.Security.AccessControl.FileSystemAccessRule("SYSTEM","FullControl", "ContainerInherit, ObjectInherit", "None", "Allow")
    $acl.AddAccessRule($rule)

    $rule = New-Object System.Security.AccessControl.FileSystemAccessRule("$domain\Domain Admins","Read", "ContainerInherit, ObjectInherit", "None", "Allow")
    $acl.AddAccessRule($rule)

    $rule = New-Object System.Security.AccessControl.FileSystemAccessRule($domainusername,"Modify", "ContainerInherit, ObjectInherit", "None", "Allow")
    $acl.AddAccessRule($rule)

    Set-Acl $folder\$username $acl
}

注意:您必须在csv文件中创建相同的域用户名,否则您将遇到权限问题

我是管理员,一些脚本在一个目录中的所有文件和子文件夹上对我的名字设置了“拒绝”权限。执行icacls“D:\test”/grant John:(OI)(CI)F /T命令没有工作,因为它似乎没有从这个列表中删除我的名字中的“拒绝”权利。

对我来说唯一有效的是用icacls的"D:\test" /reset /T命令重置所有权限。

使用资源管理器导航到要设置权限的顶级目录 在资源管理器窗口的地址栏中输入CMD 输入icacls。(OI)(CI)F /T,其中John是用户名 利润

只是加上这一点,因为这样做似乎非常简单,其他人可能会获利——所有功劳都归于clin Darie。