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


当前回答

批量文件夹创建和授予权限的工作我使用下面的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中的任何其他文件/文件夹不被处理,请在运行上述命令之前尝试将所有这些文件/文件夹移动到不同的位置。

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

这对我来说很管用:

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

现在问题解决了。

使用Excel vba脚本提供和创建帐户。我需要授予文件夹和子文件夹的完整权限,这些文件夹和子文件夹是由工具使用我们的管理员'x'帐户创建给我们的新用户的。

Cacls看起来是这样的: C . cacls \FileServer\Users\Username /e /g域\Username

我需要将这段代码迁移到Windows 7及更高版本。我的解决方案是:

icacls \ filedata \Username /grant:r域用户名:(OI)(CI)F /t

/grant:r -授予指定用户访问权限。权限替换以前授予的显式权限。如果没有:r,权限将被添加到之前授予的任何显式权限

(OI)(CI) -此文件夹、子文件夹和文件。

F -完全访问

/t -遍历所有子文件夹以匹配文件/目录。

这给了我一个服务器上的文件夹用户只能看到这个文件夹并创建子文件夹,他们可以读写文件。以及创建新的文件夹。

Windows 10中没有“c:>”和“>”

例如:

F = Full Control
/e : Edit permission and kept old permission
/p : Set new permission

/e /p用户名:F

(这也修复了错误2502和2503)

C:\Windows\Temp /e /p用户名:F

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

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