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


当前回答

XCACLS。VBS是一个非常强大的脚本,可以更改/编辑ACL信息。c: \ windows \ system32系统\ cscript.exe xcacls。VBS help返回所有开关和选项。

您可以从Microsoft Support Page获得官方发布

其他回答

批量文件夹创建和授予权限的工作我使用下面的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 "c:/path/to/folderA/folderB" /grant:r Everyone:(OI)(CI)F /T

folderB中的文件都没有被处理,这是通过输出消息表示的:

Successfully processed 0 files; Failed processing 0 files

然而,一旦我将指定的路径更改为父目录(“c:/path/to/folderA”)并重新运行命令,folderB中的所有文件都被成功处理。

注意:如果您希望folderA中的任何其他文件/文件夹不被处理,请在运行上述命令之前尝试将所有这些文件/文件夹移动到不同的位置。

希望这对遇到同样问题的人有所帮助。

我尝试了下面的方法,对我来说很有效: 1. 打开用于cmd . exe 2. takeown /R /F *.* 3.icacls * /T /grant [username]:(D) 4. 德尔*。* / s / q

这样文件就可以成为我自己的访问权限,并分配给“删除”,然后我就可以删除文件和文件夹。

使用cacls命令。请看这里的信息。

CACLS文件/e /p {USERNAME}:{PERMISSION} 在那里, /p:设置新的权限 /e:编辑权限并保留旧权限,即编辑ACL而不是替换它。 {USERNAME}:用户名 {PERMISSION}:权限可以是: R -读取 W -写 C -改变(写) F -完全控制 例如,用以下命令授予Rocky完全(F)控制权(在Windows命令提示符下输入): C:> CACLS files /e /p rocky:f 输入以下命令阅读完整帮助: C:> cacls /?

attrib +r +a +s +h <folder name> <file name> to hide
attrib -r -a -s -h <folder name> <file name> to unhide