windows - 使用 powershell 删除文件夹上的所有 ACL

标签 windows powershell acl windows-server-2008-r2 ntfs

我是 powershell 脚本编写的新手(自从我开始学习 powershell 将近 1 个月。)

我目前正在使用 powershell 2.0 编写脚本来清理文件夹 NTFS ACL。我想删除除管理员之外的所有 acl。

我的问题是我无法找到一种方法来删除每一个非管理员的 acl,而不了解他们。

所以才来这里求powershell pro。

最佳答案

此代码删除 acl:

$acl = Get-Acl \\remote_server\share_folder\HAL.9000
$acl.Access | %{$acl.RemoveAccessRule($_)}

此代码添加管理员 acl:

#BUILTIN administrator

$acl = Get-Acl \\remote_server\share_folder\HAL.9000
$permission  = "BUILTIN\Administrators","FullControl", "ContainerInherit,ObjectInherit","None","Allow"
$accessRule = New-Object System.Security.AccessControl.FileSystemAccessRule $permission
$acl.SetAccessRule($accessRule)
Set-Acl \\remote_server\share_folder\HAL.9000 $acl

#Domain controller administrator

$acl = Get-Acl \\remote_server\share_folder\HAL.9000
$permission  = "DOMAINCONTROLLER\Administrators","FullControl", "ContainerInherit,ObjectInherit","None","Allow"
$accessRule = New-Object System.Security.AccessControl.FileSystemAccessRule $permission
$acl.SetAccessRule($accessRule)
Set-Acl \\remote_server\share_folder\HAL.9000 $acl

希望这会对某人有所帮助:)

关于windows - 使用 powershell 删除文件夹上的所有 ACL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6573308/

相关文章:

php - Zend_Acl : Using a database for persistance, 序列化 acl 对象还是使用特殊模式更好?

python - 如何连接到远程 Windows 机器以使用 python 执行命令?

Excel:计算金额 - 一个单元格 (58391) 中的数字到另一个单元格 (5+8+3+9+1)

powershell - GNU Make会忽略Windows上的环境变量

PowerShell:导入模块,但没有可用的 "ExportedCommands"

symfony - 检查是否为 Symfony2 ACL 中的特定用户授予角色

windows - 页面文件使用

windows - 如果出现特殊字符 `!`,批处理脚本无法正常工作?

email - Exchange 2010/13 - 按类别搜索邮件并将其设置为敏感度 :private

作为服务实现的 Symfony2 ACL?