需要Power Shell脚本才能在远程服务器上查找哪些文件夹具有“Everyone”访问权限,以及如何取消此特定访问权限安全)?Powershell脚本查找具有“Everyone”访问权限的文件夹以及如何删除它
0
A
回答
3
沿着这些线?
# 1. Get list of folders
$FolderList = Get-ChildItem -Path c:\test\everyone -Directory -Recurse;
# 2. Iterate over folders and remove 'everyone' rules
foreach ($Folder in $FolderList) {
$Acl = Get-Acl -Path $Folder.FullName;
$Everyone = $Acl.Access.Where({ $PSItem.IdentityReference -eq 'Everyone' });
foreach ($Ace in $Everyone) {
[void] $Acl.RemoveAccessRule($Ace);
}
Set-Acl -Path $Folder.FullName -AclObject $Acl;
}
重要:这个脚本需要的PowerShell 版本4.0,因为它使用去哪儿 “方法的语法。”
3
翻译Trevor's solution将根据PowerShell V2/V3:
$rootFolder = '\\server\c$\some\folder'
# get locale-specific name for 'Everyone' security principal
$sid = New-Object Security.Principal.SecurityIdentifier('S-1-1-0')
$everyone = $sid.Translate([Security.Principal.NTAccount]).Value
Get-ChildItem $rootFolder -Recurse | ? { $_.PSIsContainer } | % {
$acl = Get-Acl $_.FullName
$acl.Access | ? { $_.IdentityReference -eq $everyone } | % {
$acl.RemoveAccessRule($_)
}
Set-Acl $_.FullName -Acl $acl | Out-Null
}
在PowerShell中V3可以用-Directory
取代| ? { $_.PSIsContainer }
。
请注意,这不会删除根文件夹本身的Everyone
ACE,也不会删除继承的Everyone
ACE。
+0
也很好的答案:) –
相关问题
- 1. Powershell命令删除/替换所有文件和文件夹上的访问权限/拥有者权限
- 2. Powershell脚本查看所有OneDrive文件和谁有权访问
- 3. powershell删除特定用户的文件夹的所有权限
- 4. PowerShell脚本删除多个文件夹
- 5. 如何检查只有列出访问权限的文件夹?
- 6. Powershell脚本循环浏览文件夹检查安全权限
- 7. 修改shell脚本,删除文件夹以及文件
- 8. SVN:无法删除具有RW权限的文件夹中的子文件夹
- 9. 无法删除PowerShell文件夹的权限
- 10. 如何删除没有人权限的文件夹?
- 11. 删除Windows文件夹的权限
- 12. PowerShell脚本权限
- 13. 拒绝访问文件夹具有完全权限
- 14. 如何设置没有访问cPanel的文件夹权限
- 15. 解决PowerShell中“您当前没有权限访问此文件夹”的问题
- 16. 如何使用shell脚本输出作为perl脚本的输入(删除具有权限的文件)?
- 17. 将“Everyone”权限添加到文件夹的网络共享中
- 18. 如何使文件无法删除在Java?或给它的访问权限也admin无法删除它?(Windows 7)
- 19. Powershell - 查找文件夹权限并扩展组成员
- 20. 如何删除数据文件夹以及部分postgres9.1强制卸载脚本
- 21. Powershell脚本删除x天以前的文件,但不是文件夹
- 22. 文件夹访问权限DMS
- 23. 是否有任何方式来限制访问具有模拟权限的用户访问特定文件夹?
- 24. github对项目文件夹的访问权限有限
- 25. Powershell查找具有相同名称的文件夹和文件
- 26. VBS脚本查找和删除文件
- 27. Powershell脚本省略遍历访问从文件夹列表中删除文件夹被拒绝
- 28. 公用文件夹删除所有用户的所有权限
- 29. 通过PowerShell的文件夹权限
- 30. 如何在php中删除所有文件和文件夹的权限?
在网络上两次遍历大量文件夹/文件可能会非常缓慢。我会使用where命令将gci管道输入到get-acl cmdlet中,然后删除...它可以将操作时间缩短一半或更多 - 尽管如此,仍然是一个+1 –
谢谢@AustinFrench :)好的提示。 –