You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PowerShell中如何删除文件除指定账户外的所有ACL访问规则

PowerShell 移除AES.key文件多余ACL规则方案

你当前查询到的3条ACL规则全部为继承来源(IsInherited属性均为True),这类继承规则无法直接删除,需要先关闭文件的权限继承,将继承规则转为显式规则后再清理多余条目,完整操作代码如下:

# 定义目标文件路径
$targetFile = ".\AES.key"
# 读取文件当前ACL配置
$acl = Get-Acl -Path $targetFile

# 关闭权限继承,将原有继承的权限保留为文件的显式规则(必须执行,否则继承规则无法删除)
$acl.SetAccessRuleProtection($true, $true)

# 筛选出所有不属于GOOGLE\steso的访问规则,逐个移除
$removeList = $acl.Access | Where-Object { $_.IdentityReference.Value -ne "GOOGLE\steso" }
foreach ($rule in $removeList) {
    $acl.RemoveAccessRule($rule) | Out-Null
}

# 将修改后的ACL配置写回文件
Set-Acl -Path $targetFile -AclObject $acl

执行注意事项

  • 请使用管理员身份运行PowerShell后再执行上述代码,否则删除SYSTEM、内置管理员组的权限时会抛出权限不足错误。
  • 执行完成后可重新运行你之前的查询命令验证结果,最终返回的ACL列表将仅保留GOOGLE\steso对应的权限条目,且所有条目的IsInherited属性会变为False,代表已不再从上层目录继承权限。
  • 如果后续需要恢复默认的权限继承逻辑,可以执行以下代码:
$targetFile = ".\AES.key"
$acl = Get-Acl -Path $targetFile
$acl.SetAccessRuleProtection($false, $false)
Set-Acl -Path $targetFile -AclObject $acl

内容的提问来源于stack exchange,提问作者Thomas Steso

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.03 00:18:20