我需要一个脚本或简单的PowerShell代码通过继承这些删除所有子文件夹和文件 - 递归地删除特定用户的文件夹的所有权限... 提前谢谢!powershell删除特定用户的文件夹的所有权限
2
A
回答
4
$acl=get-acl c:\temp
$accessrule = New-Object system.security.AccessControl.FileSystemAccessRule("domain\user","Read",,,"Allow")
$acl.RemoveAccessRuleAll($accessrule)
Set-Acl -Path "c:\temp" -AclObject $acl
这应该擦了用户的所有安全规则在c:\ temp递归地
1
我认为最简单的方法是从具有正确权限的文件或文件夹中复制acl,并将其应用到您想要访问的文件夹。 例如:
$acl= get-acl /path/to/file_with_correct acl
$files= get-childItem c:\temp\*.* -recurce |set-acl -aclobject $acl -whatif
删除-whatif参数来有效地修改ACL
或者遵循this technet article和使用这样的代码:
$Right = [System.Security.AccessControl.FileSystemRights]"Read"
$InheritanceFlag = [System.Security.AccessControl.InheritanceFlags]::None
$PropagationFlag = [System.Security.AccessControl.PropagationFlags]::InheritOnly
$objType =[System.Security.AccessControl.AccessControlType]::Allow
$objUser = New-Object System.Security.Principal.NTAccount("domain\bob")
$objACE = New-Object System.Security.AccessControl.FileSystemAccessRule `
($objUser, $Right, $InheritanceFlag, $PropagationFlag, $objType)
$objACL = Get-ACL "d:\test"
$objACL.RemoveAccessRuleAll($objACE)
Set-ACL "d:\test" -aclobject $objACL
相关问题
- 1. 公用文件夹删除所有用户的所有权限
- 2. 删除除特定文件夹以外的所有文件夹
- 3. 的PowerShell:删除一个目录下的所有权限的所有用户
- 4. 获取特定用户的所有SharePoint文件夹的权限编程
- 5. Powershell v1 - 删除指定文件夹以外的所有文件和文件夹
- 6. 无法删除PowerShell文件夹的权限
- 7. 删除Windows文件夹的权限
- 8. 删除所有安全组的所有权限Powershell
- 9. PowerShell的:获取ACL,并获得远程文件夹对特定用户权限
- 10. PowerShell删除特定组中的所有用户
- 11. 查看并清除Sitecore中的所有用户特定权限
- 12. 用户只能在特定文件夹中的权限(debian)
- 13. 制作为Joomla,让用户订阅特定的Dropbox文件夹权限有限
- 14. 如何在php中删除所有文件和文件夹的权限?
- 15. 用户上传和删除文件和文件夹的最佳文件权限
- 16. Powershell - 删除包含具有特定FileDescription的文件的文件夹?
- 17. 通过PowerShell的文件夹权限
- 18. elfinder创建具有特定权限的文件/文件夹?
- 19. 使用powershell设置文件夹权限
- 20. SVN:无法删除具有RW权限的文件夹中的子文件夹
- 21. Powershell删除OU中的所有用户
- 22. 更改文件夹,所有子文件夹和所有文件的权限
- 23. 检查用户是否具有特定的Windows权限Powershell
- 24. 如何使用php删除特定文件夹中的所有文件
- 25. 如何删除没有人权限的文件夹?
- 26. TFS文件夹的用户权限
- 27. 重命名删除权限被阻止的文件夹/文件
- 28. Ubuntu更改特定用户的默认文件/文件夹权限
- 29. 在所有子目录中删除用户的NTFS权限
- 30. PowerShell设置文件夹权限
Hi Kayasax,再次感谢您的支持。它有助于最后一个代码,但不能递归移除?!你能否再次审查一次..感谢提前! – gaponte69
真的吗?这已经完成了我的工作站上的技巧... 你可以尝试 'ls c:\ temp -recurse | set-acl -aclObject $ acl' –
你的意思是像这样尝试:$ acl = get-acl c:\ temp $ accessrule =新物体system.security.AccessControl.FileSystemAccessRule( “域\用户”, “读” ,,, “允许”) $ acl.RemoveAccessRuleAll($ accessrule) LS C:\ TEMP -recurse | set-acl -aclObject $ acl – gaponte69