如何使用Windows命令行授予用户对目录的权限(读、写、修改)?
当前回答
您也可以使用ICACLS。
赋予文件夹“Users”组“Full Control”权限。
>icacls "C:\MyFolder" /grant Users:F
为C:\MyFolder授予IIS用户修改权限(如果您需要,您的IIS具有将文件R/W到特定文件夹的能力):
>icacls "C:\MyFolder" /grant IIS_IUSRS:M
如果你做ICACLS /?您将能够看到所有可用的选项。
其他回答
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
打开命令提示符,然后执行以下命令:
icacls“c:\ someelocation \of\path”/q /c /t /grant
F表示完全访问。
/q /c /t为子文件夹应用权限。
注意:有时“以管理员身份运行”会有所帮助。
使用资源管理器导航到要设置权限的顶级目录 在资源管理器窗口的地址栏中输入CMD 输入icacls。(OI)(CI)F /T,其中John是用户名 利润
只是加上这一点,因为这样做似乎非常简单,其他人可能会获利——所有功劳都归于clin Darie。
为了防止其他人在这个页面上出错,如果你想在一个命令中将各种权限串在一起,我使用了这个:
icacls "c:\TestFolder" /grant:r Test_User:(OI)(CI)(RC,RD,RX)
请注意用于各种权限的csv字符串。
批量文件夹创建和授予权限的工作我使用下面的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文件中创建相同的域用户名,否则您将遇到权限问题
推荐文章
- 我如何找到哪个程序正在使用端口80在Windows?
- 在Windows中有像GREP这样的模式匹配实用程序吗?
- 试图在Windows 10上运行Python时出现“权限被拒绝”
- 如何在Windows命令提示符下运行.sh ?
- 如何从命令行在windows中找到mysql数据目录
- 在没有事件源注册的情况下写入Windows应用程序事件日志
- 无法在Windows上从/usr/local/ssl/openssl.cnf加载配置信息
- GIT克隆在windows中跨本地文件系统回购
- 如何运行一个PowerShell脚本而不显示窗口?
- PowerShell:仅为单个命令设置环境变量
- 为什么这个Windows批处理文件只执行第一行,而在命令shell中执行所有三行?
- 环境变量存储在Windows注册表的哪里?
- 有一个好的Valgrind Windows的替代品吗?
- Windows和Linux上的c++编译:ifdef开关
- 如何验证批处理文件中是否存在一个文件?