如何使用Windows命令行授予用户对目录的权限(读、写、修改)?
当前回答
为了防止其他人在这个页面上出错,如果你想在一个命令中将各种权限串在一起,我使用了这个:
icacls "c:\TestFolder" /grant:r Test_User:(OI)(CI)(RC,RD,RX)
请注意用于各种权限的csv字符串。
其他回答
使用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 -遍历所有子文件夹以匹配文件/目录。
这给了我一个服务器上的文件夹用户只能看到这个文件夹并创建子文件夹,他们可以读写文件。以及创建新的文件夹。
批量文件夹创建和授予权限的工作我使用下面的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文件中创建相同的域用户名,否则您将遇到权限问题
attrib +r +a +s +h <folder name> <file name> to hide
attrib -r -a -s -h <folder name> <file name> to unhide
这对我来说很管用:
手动打开被拒绝访问的文件夹。 在该文件夹中选择可执行/应用程序文件。 右键点击属性->兼容性 现在查看特权级别,并检查它是否为以管理员身份运行 为所有用户单击Change Settings。
现在问题解决了。
我无法打开驱动器中的任何文件,这个命令解锁了所有-
icacls i:\* /grant Users:F /t /q /c
推荐文章
- 在Sublime Text 2中使用Ctrl+D进行多个选择时,我如何跳过匹配?
- #定义WIN32_LEAN_AND_MEAN具体排除了什么?
- 如何添加一个设置路径只执行批处理文件?
- 最好的轻量级web服务器(只有静态内容)的Windows
- npm犯错!错误:EPERM:操作不允许,重命名
- 崇高的文本从命令行
- 如何保持Python脚本输出窗口打开?
- 使用.bat文件检查文件夹是否存在
- 如何查看Windows库(*.lib)的内容
- 在Windows中删除大文件夹最快的方法是什么?
- NPM卡住给出相同的错误EISDIR:对目录的非法操作,读取错误(本机)
- Windows 10环境变量太大
- 如何使用Windows命令行更改目录
- 如何在NERDTree中显示隐藏文件(以句点开始)?
- Objective-C for Windows